43 lines
902 B
Python
43 lines
902 B
Python
|
from __future__ import print_function
|
||
|
import pyms
|
||
|
import random
|
||
|
import time
|
||
|
|
||
|
len = 50000001
|
||
|
forkdiv = 3
|
||
|
print("len: {}".format(len))
|
||
|
foo = [x for x in range(len)]
|
||
|
random.shuffle(foo)
|
||
|
print("linear")
|
||
|
start = time.time()
|
||
|
ret = pyms.mergesort(foo)
|
||
|
end = time.time()
|
||
|
if ret < 0:
|
||
|
print("error: {}".format(ret));
|
||
|
else:
|
||
|
for i, e in enumerate(foo):
|
||
|
if i != e:
|
||
|
print("ERROR in sort")
|
||
|
break
|
||
|
else:
|
||
|
print("sort OK")
|
||
|
diff = end - start
|
||
|
print("duration: {}".format(diff))
|
||
|
|
||
|
random.shuffle(foo)
|
||
|
print("parallel")
|
||
|
start = time.time()
|
||
|
ret = pyms.mergesortp(foo, forkdiv)
|
||
|
end = time.time()
|
||
|
if ret < 0:
|
||
|
print("error: {}".format(ret));
|
||
|
else:
|
||
|
for i, e in enumerate(foo):
|
||
|
if i != e:
|
||
|
print("ERROR in sort")
|
||
|
break
|
||
|
else:
|
||
|
print("sort OK")
|
||
|
diff = end - start
|
||
|
print("duration: {}".format(diff))
|