In [1]:
import sys
import pandas as pd
import numpy as np
import difflib
import gzip
from scipy import stats
import time
from implementations import all_implementations
from random import randint

In [2]:
ARR_SIZE = 20000
SORT_TRIALS = 40
random_arrays = []
for i in range(SORT_TRIALS):
    random_arrays.append(np.random.randint(0, ARR_SIZE, ARR_SIZE))
    
df_result = pd.DataFrame(np.nan, index=np.array(range(SORT_TRIALS)),columns = [fn.__name__ for fn in all_implementations])
df_result


Out[2]:
qs1 qs2 qs3 qs4 qs5 merge1 partition_sort
0 NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN NaN NaN

In [6]:
for sort in all_implementations:
    for i in range(SORT_TRIALS):
        st = time.time()
        res = sort(random_arrays[i])
        en = time.time()
        df_result.iloc[i][sort.__name__]=en-st
df_result.to_csv('data.csv', index=False)
df_result


Out[6]:
qs1 qs2 qs3 qs4 qs5 merge1 partition_sort
0 0.070015 0.086740 0.090054 0.080109 0.079434 0.103288 0.070164
1 0.060803 0.100727 0.105186 0.080522 0.082376 0.105341 0.069865
2 0.055306 0.093214 0.088574 0.075300 0.081900 0.118308 0.069995
3 0.058639 0.083317 0.090863 0.085878 0.087948 0.112951 0.072464
4 0.053843 0.086972 0.085555 0.080957 0.082159 0.105686 0.070707
5 0.054615 0.086939 0.088410 0.083436 0.080924 0.107570 0.088915

In [ ]:
def main():
    ARR_SIZE = 20000
    SORT_TRIALS = 40
    random_arrays = []
    for i in range(SORT_TRIALS):
        random_arrays.append(np.random.randint(0, ARR_SIZE, ARR_SIZE))
        
    df_result = pd.DataFrame(np.nan, index=np.array(range(SORT_TRIALS)),columns = [fn.__name__ for fn in all_implementations])
    
    for sort in all_implementations:
        for i in range(SORT_TRIALS):
            st = time.time()
            res = sort(random_arrays[i])
            en = time.time()
            df_result.iloc[i][sort.__name__]=en-st
            
    df_result.to_csv('data.csv', index=False)
if __name__ == '__main__':
    main()