mosis24DEVS/models/seq_msgcopy/timer.py
Yentl Van Tendeloo 66a6860316 Initial commit
2016-08-04 17:38:43 +02:00

37 lines
1,020 B
Python

import sys
import random
sys.path.append("../../src/")
sizes = range(10, 200, 10)
from simulator import Simulator
import time
iters = int(sys.argv[1])
def runFunc(param):
f = open("seq_msgcopy/%s" % (param), 'w')
for size in sizes:
from model import DEVStone
total = 0.0
for _ in range(iters):
random.seed(1)
model = DEVStone(3, size, False)
sim = Simulator(model)
sim.setMessageCopy(param)
sim.setSchedulerHeapSet()
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 msgcopy in ['none', 'pickle', 'custom']:
allprocs.append(msgcopy)
map(runFunc, allprocs)
"""
from multiprocessing import Pool
p = Pool(3)
p.map(runFunc, allprocs)
"""