Comparación Rendimiento Cython vs. Python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
df_10000 = pd.read_csv('/work/sort_10000.csv')
df_10000.head()
plt.figure(figsize=(7,7))
plt.plot(df_10000.time_python_bubble,'D-')
plt.plot(df_10000.time_cython_bubble,'X-')
plt.plot(df_10000.time_python_selection,'D-')
plt.plot(df_10000.time_cython_selection,'X-')
plt.legend(['python_bubble','cython_bubble','python_selection','cython_selection'])
plt.ylabel('Tiempo segundos')
plt.xlabel('Numero datos')
median_df_10000 = pd.DataFrame(df_10000.apply(lambda x: x.median()), columns=['median_time'])
median_df_10000
fig = px.bar(median_df_10000, x=median_df_10000.median_time, color=median_df_10000.index.values,title='Promedio Tiempo', text_auto=True)
fig.show()
print(f'SELECTION SORT: Cython es {median_df_10000.median_time[0]/median_df_10000.median_time[1]} veces mas rapido que Python')
print(f'BUBBLE SORT: Cython es {median_df_10000.median_time[2]/median_df_10000.median_time[3]} veces mas rapido que Python')
df_20000 = pd.read_csv('/work/sort_30000.csv')
df_20000.head()
plt.figure(figsize=(7,7))
plt.plot(df_20000.time_python_bubble,'D-')
plt.plot(df_20000.time_cython_bubble,'X-')
plt.plot(df_20000.time_python_selection,'D-')
plt.plot(df_20000.time_cython_selection,'X-')
plt.legend(['python_bubble','cython_bubble','python_selection','cython_selection'])
plt.ylabel('Tiempo segundos')
plt.xlabel('Numero datos')
median_df_20000 = pd.DataFrame(df_20000.apply(lambda x: x.median()), columns=['median_time'])
median_df_20000
fig = px.bar(median_df_20000, x=median_df_20000.median_time, color=median_df_20000.index.values,title='Promedio Tiempo', text_auto=True)
fig.show()
print(f'SELECTION SORT: Cython es {median_df_20000.median_time[0]/median_df_20000.median_time[1]} veces mas rapido que Python')
print(f'BUBBLE SORT: Cython es {median_df_20000.median_time[2]/median_df_20000.median_time[3]} veces mas rapido que Python')
df_30000 = pd.read_csv('/work/sort_30000.csv')
df_30000.head()
plt.figure(figsize=(7,7))
plt.plot(df_30000.time_python_bubble,'D-')
plt.plot(df_30000.time_cython_bubble,'X-')
plt.plot(df_30000.time_python_selection,'D-')
plt.plot(df_30000.time_cython_selection,'X-')
plt.legend(['python_bubble','cython_bubble','python_selection','cython_selection'])
plt.ylabel('Tiempo segundos')
plt.xlabel('Numero datos')
median_df_30000 = pd.DataFrame(df_30000.apply(lambda x: x.median()), columns=['median_time'])
median_df_30000
fig = px.bar(median_df_30000, x=median_df_30000.median_time, color=median_df_30000.index.values,title='Promedio Tiempo', text_auto=True)
fig.show()
print(f'SELECTION SORT: Cython es {median_df_30000.median_time[0]/median_df_30000.median_time[1]} veces mas rapido que Python')
print(f'BUBBLE SORT: Cython es {median_df_30000.median_time[2]/median_df_30000.median_time[3]} veces mas rapido que Python')