Explorar el Código

Port make_parallel to Python

Yentl Van Tendeloo hace 9 años
padre
commit
123342eb8b
Se han modificado 4 ficheros con 19 adiciones y 38 borrados
  1. 0 19
      make_parallel.bat
  2. 0 19
      make_parallel.sh
  3. 19 0
      scripts/make_parallel.py
  4. 0 0
      scripts/prompt.py

+ 0 - 19
make_parallel.bat

@@ -1,19 +0,0 @@
-#!/bin/bash
-set -e
-
-username=$1
-address=$2
-shift
-shift
-
-for f in "$@"
-do
-    ./compile.sh $address $f $RANDOM $f PO --debug &
-done
-
-for job in `jobs -p`
-do
-    wait $job || let "FAIL+=1"
-done
-
-./link_and_load.sh $address $username "$@" --fast

+ 0 - 19
make_parallel.sh

@@ -1,19 +0,0 @@
-#!/bin/bash
-set -e
-
-username=$1
-address=$2
-shift
-shift
-
-for f in "$@"
-do
-    ./compile.sh $address $f $RANDOM $f PO --debug &
-done
-
-for job in `jobs -p`
-do
-    wait $job || let "FAIL+=1"
-done
-
-./link_and_load.sh $address $username "$@" --fast

+ 19 - 0
scripts/make_parallel.py

@@ -0,0 +1,19 @@
+import sys
+
+from compile import do_compile
+from link_and_load import link_and_load
+import random
+import multiprocessing
+
+address = sys.argv[1]
+username = sys.argv[2]
+files = sys.argv[3:]
+
+
+def do_compile_wrapper(filename):
+    do_compile(address, filename, str(random.random()), filename, "CO")
+
+p = multiprocessing.Pool(multiprocessing.cpu_count())
+p.map(do_compile_wrapper, files)
+
+link_and_load(address, username, files, True)

prompt.py → scripts/prompt.py