diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-02-26 10:16:15 -0500 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-02-26 10:16:15 -0500 |
commit | bfeffef97b3fc1f6bec6b8690981831cf1230408 (patch) | |
tree | 9a35340c408265f7692801c1fa17fe2b2b41cf1f /emscripten.py | |
parent | f6a2a7b8936a4054ac781af6eeb4e9dd5466a775 (diff) |
adjust chunking sizes
Diffstat (limited to 'emscripten.py')
-rwxr-xr-x | emscripten.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/emscripten.py b/emscripten.py index bf049ee5..e64e11e7 100755 --- a/emscripten.py +++ b/emscripten.py @@ -43,7 +43,7 @@ def scan(ll, settings): if len(blockaddrs) > 0: settings['NECESSARY_BLOCKADDRS'] = blockaddrs -NUM_CHUNKS_PER_CORE = 2 +NUM_CHUNKS_PER_CORE = 1.25 MIN_CHUNK_SIZE = 1024*1024 MAX_CHUNK_SIZE = float(os.environ.get('EMSCRIPT_MAX_CHUNK_SIZE') or 'inf') # configuring this is just for debugging purposes @@ -163,7 +163,7 @@ def emscript(infile, settings, outfile, libraries=[]): cores = multiprocessing.cpu_count() assert cores >= 1 if cores > 1: - intended_num_chunks = int(cores * NUM_CHUNKS_PER_CORE) + intended_num_chunks = int(round(cores * NUM_CHUNKS_PER_CORE)) chunk_size = max(MIN_CHUNK_SIZE, total_ll_size / intended_num_chunks) chunk_size += 3*len(meta) + len(forwarded_data)/3 # keep ratio of lots of function code to meta (expensive to process, and done in each parallel task) and forwarded data (less expensive but potentially significant) chunk_size = min(MAX_CHUNK_SIZE, chunk_size) |