make_parallel.py 813 B

1234567891011121314151617181920212223242526272829
  1. import sys
  2. from check_objects import to_recompile
  3. from compile import do_compile
  4. from link_and_load import link_and_load
  5. import random
  6. import multiprocessing
  7. import glob
  8. if len(sys.argv) < 4:
  9. sys.stderr.write("Expected different parameters!\n")
  10. sys.stderr.write(" %s address username [file]*\n" % sys.argv[0])
  11. sys.exit(1)
  12. address = sys.argv[1]
  13. username = sys.argv[2]
  14. files = [a.replace("\\", "/") for a in sum([glob.glob(f) for f in sys.argv[3:]], [])]
  15. def do_compile_wrapper(filename):
  16. do_compile(address, filename, str(random.random()), filename, "PO", ["--debug"])
  17. if __name__ == "__main__":
  18. p = multiprocessing.Pool(multiprocessing.cpu_count() * 2)
  19. new_files = to_recompile(address, files)
  20. p.map(do_compile_wrapper, new_files)
  21. link_and_load(address, username, files)