34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import sys
|
|
import random
|
|
schedulers = ["setSchedulerSortedList", "setSchedulerActivityHeap", "setSchedulerMinimalList", "setSchedulerHeapSet"]
|
|
sys.path.append("../../src/")
|
|
sizes = range(10, 71, 1)
|
|
from simulator import Simulator
|
|
iters = max(int(sys.argv[1]), 20)
|
|
import time
|
|
|
|
def runFunc(scheduler):
|
|
f = open("seq_activity_firespread/" + str(scheduler), 'w')
|
|
for size in sizes:
|
|
from model import FireSpread
|
|
total = 0.0
|
|
for _ in range(iters):
|
|
model = FireSpread(size, size)
|
|
sim = Simulator(model)
|
|
sim.setMessageCopy('none')
|
|
getattr(sim, scheduler)()
|
|
sim.setTerminationTime(150)
|
|
start = time.time()
|
|
sim.simulate()
|
|
total += (time.time() - start)
|
|
# Take the square of size, as we have this many cells instead of only 'size' cells
|
|
f.write("%s %s\n" % (size*size, total/iters))
|
|
print("%s -- %s %s" % (scheduler, size*size, total/iters))
|
|
f.close()
|
|
|
|
map(runFunc, schedulers)
|
|
"""
|
|
from multiprocessing import Pool
|
|
p = Pool(4)
|
|
p.map(runFunc, schedulers)
|
|
"""
|