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