diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-11-18 09:17:38 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-11-21 20:47:01 +0100 |
commit | 6af60b71376b8bf0c9a6fa41f2d4f2a0ec9ded8b (patch) | |
tree | 03a3157dab08b35e5b0ec82ba6088a9721686aaa /emscripten.py | |
parent | 58e00ebddf017079a6b7d60c066210676661177d (diff) |
add more caching logic including short vs full keys
Diffstat (limited to 'emscripten.py')
-rwxr-xr-x | emscripten.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/emscripten.py b/emscripten.py index 5eb62ba2..681d2283 100755 --- a/emscripten.py +++ b/emscripten.py @@ -74,6 +74,8 @@ def emscript(infile, settings, outfile, libraries=[]): if DEBUG: print >> sys.stderr, 'emscript: ll=>js' + if jcache: JCache.ensure() + # Pre-scan ll and alter settings as necessary if DEBUG: t = time.time() ll = open(infile).read() @@ -134,13 +136,14 @@ def emscript(infile, settings, outfile, libraries=[]): pre_input = ''.join(pre) + '\n' + meta out = None if jcache: - pre_cache_key = JCache.get_key([pre_input, settings_text, ','.join(libraries)]) - out = JCache.get(pre_cache_key) + keys = [pre_input, settings_text, ','.join(libraries)] + shortkey = JCache.get_key(keys) + out = JCache.get(shortkey, keys) if not out: open(pre_file, 'w').write(pre_input) out = shared.run_js(compiler, shared.COMPILER_ENGINE, [settings_file, pre_file, 'pre'] + libraries, stdout=subprocess.PIPE, cwd=path_from_root('src')) if jcache: - JCache.set(pre_cache_key, out) + JCache.set(shortkey, keys, out) pre, forwarded_data = out.split('//FORWARDED_DATA:') forwarded_file = temp_files.get('.json').name open(forwarded_file, 'w').write(forwarded_data) |