mergesort/test.py

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))