Make js_binary.py a thousand times faster (literally) by caching dependency subtrees.
Targets like ui/file_manager/file_manager/foreground/js:closure_compile were causing js_compile.py to spend upwards of one minute of CPU time in Python before even invoking the closure compiler. Caching dependency subtrees takes the python CPU time down to about 50 milliseconds. That is, a 1000x performance boost. Note the _set_ of arguments passed to closure is identical. However, the order can change slightly without violating dependencies specified. This shuffling exposed a couple of errors due to underspecified dependencies. (Fix them): ui/file_manager/file_manager/background/js/test_util_base.js:589: ERROR - Property args never defined on request chrome/browser/resources/settings/site_settings/site_data_entry.js:15: ERROR - Variable referenced before declaration: I18nBehavior TBR=hcarmona@chromium.org Cq-Include-Trybots: luci.chromium.try:closure_compilation Change-Id: I10c27bb76b404bb40828dfd54f99be059adf0fdb Reviewed-on: https://chromium-review.googlesource.com/1166775 Commit-Queue: Trent Apted <tapted@chromium.org> Reviewed-by:Naoki Fukino <fukino@chromium.org> Cr-Commit-Position: refs/heads/master@{#581961}
Showing
Please register or sign in to comment