timer.py 1020 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import sys
  2. import random
  3. sys.path.append("../../src/")
  4. sizes = range(10, 200, 10)
  5. from simulator import Simulator
  6. import time
  7. iters = int(sys.argv[1])
  8. def runFunc(param):
  9. f = open("seq_msgcopy/%s" % (param), 'w')
  10. for size in sizes:
  11. from model import DEVStone
  12. total = 0.0
  13. for _ in range(iters):
  14. random.seed(1)
  15. model = DEVStone(3, size, False)
  16. sim = Simulator(model)
  17. sim.setMessageCopy(param)
  18. sim.setSchedulerHeapSet()
  19. sim.setTerminationTime(1000)
  20. start = time.time()
  21. sim.simulate()
  22. total += (time.time() - start)
  23. f.write("%s %s\n" % (size, total/iters))
  24. print("%s %s" % (size, total/iters))
  25. f.close()
  26. allprocs = []
  27. for msgcopy in ['none', 'pickle', 'custom']:
  28. allprocs.append(msgcopy)
  29. map(runFunc, allprocs)
  30. """
  31. from multiprocessing import Pool
  32. p = Pool(3)
  33. p.map(runFunc, allprocs)
  34. """