40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import sys
|
|
import random
|
|
schedulers = ["setSchedulerSortedList", "setSchedulerActivityHeap", "setSchedulerMinimalList", "setSchedulerHeapSet", "setSchedulerPolymorphic"]
|
|
sys.path.append("../../src/")
|
|
sizes = range(10, 200, 10)
|
|
from simulator import Simulator
|
|
import time
|
|
iters = int(sys.argv[1])
|
|
|
|
def runFunc(param):
|
|
scheduler, randomta = param
|
|
f = open("seq_devstone/%s_%s" % (scheduler, randomta), 'w')
|
|
for size in sizes:
|
|
from model import DEVStone
|
|
total = 0.0
|
|
for _ in range(iters):
|
|
random.seed(1)
|
|
model = DEVStone(3, size, randomta)
|
|
sim = Simulator(model)
|
|
sim.setMessageCopy('none')
|
|
getattr(sim, scheduler)()
|
|
sim.setTerminationTime(1000)
|
|
start = time.time()
|
|
sim.simulate()
|
|
total += (time.time() - start)
|
|
f.write("%s %s\n" % (size, total/iters))
|
|
print("%s %s" % (size, total/iters))
|
|
f.close()
|
|
|
|
allprocs = []
|
|
for scheduler in schedulers:
|
|
for randomta in [True, False]:
|
|
allprocs.append([scheduler, randomta])
|
|
|
|
map(runFunc, allprocs)
|
|
"""
|
|
from multiprocessing import Pool
|
|
p = Pool(3)
|
|
p.map(runFunc, allprocs)
|
|
"""
|