timer.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import sys
  2. import random
  3. schedulers = ["setSchedulerSortedList", "setSchedulerActivityHeap", "setSchedulerMinimalList", "setSchedulerHeapSet"]
  4. sys.path.append("../../src/")
  5. sizes = range(10, 71, 1)
  6. from simulator import Simulator
  7. iters = max(int(sys.argv[1]), 20)
  8. import time
  9. def runFunc(scheduler):
  10. f = open("seq_activity_firespread/" + str(scheduler), 'w')
  11. for size in sizes:
  12. from model import FireSpread
  13. total = 0.0
  14. for _ in range(iters):
  15. model = FireSpread(size, size)
  16. sim = Simulator(model)
  17. sim.setMessageCopy('none')
  18. getattr(sim, scheduler)()
  19. sim.setTerminationTime(150)
  20. start = time.time()
  21. sim.simulate()
  22. total += (time.time() - start)
  23. # Take the square of size, as we have this many cells instead of only 'size' cells
  24. f.write("%s %s\n" % (size*size, total/iters))
  25. print("%s -- %s %s" % (scheduler, size*size, total/iters))
  26. f.close()
  27. map(runFunc, schedulers)
  28. """
  29. from multiprocessing import Pool
  30. p = Pool(4)
  31. p.map(runFunc, schedulers)
  32. """