Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(553)

Issue 183013013: Pre-cache PLY lex table and use optimized mode (5% build time improvement) (Closed)

Created:
6 years, 9 months ago by Nils Barth (inactive)
Modified:
6 years, 9 months ago
Reviewers:
haraken
CC:
blink-reviews, kojih, arv+blink, jsbell+bindings_chromium.org, sof, abarth-chromium, marja+watch_chromium.org, adamk+blink_chromium.org, haraken, Nate Chapin, Inactive, Daniel Bratell
Visibility:
Public.

Description

Pre-cache PLY lex table and use optimized mode (5% build time improvement) PLY lex table creation is (obviously) expensive. Pre-caching this in a separate build step improves build time. This is much less of an improvement than the parse table, as the lexical grammar is much simpler than the phrase grammar, but: * it's a quick win, and * will allow us to use Python's optimized mode (hopefully more win). Improves build time (user time) by 5% on my Linux box: 59s => 56s Followup to: Pre-cache PLY yacc parse table and use optimized mode (45% build time improvement) https://codereview.chromium.org/184233005/ BUG=341748 R=haraken Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168630

Patch Set 1 #

Patch Set 2 : Fix import path handling #

Total comments: 2

Patch Set 3 : Fix order #

Unified diffs Side-by-side diffs Delta from patch set Stats (+55 lines, -16 lines) Patch
M Source/bindings/generated_bindings.gyp View 4 chunks +7 lines, -5 lines 0 comments Download
M Source/bindings/scripts/blink_idl_lexer.py View 1 2 2 chunks +40 lines, -6 lines 0 comments Download
M Source/bindings/scripts/blink_idl_parser.py View 1 chunk +3 lines, -1 line 0 comments Download
M Tools/Scripts/webkitpy/bindings/main.py View 1 chunk +5 lines, -4 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
Nils Barth (inactive)
Another quick win. After this I'll try Python's optimized mode (and executing the bytecode directly) ...
6 years, 9 months ago (2014-03-05 09:25:52 UTC) #1
Nils Barth (inactive)
*ping*
6 years, 9 months ago (2014-03-06 07:55:11 UTC) #2
haraken
Sorry for the review delay. LGTM. https://codereview.chromium.org/183013013/diff/10001/Source/bindings/scripts/blink_idl_lexer.py File Source/bindings/scripts/blink_idl_lexer.py (right): https://codereview.chromium.org/183013013/diff/10001/Source/bindings/scripts/blink_idl_lexer.py#newcode88 Source/bindings/scripts/blink_idl_lexer.py:88: def __init__(self, debug=False, ...
6 years, 9 months ago (2014-03-06 07:58:40 UTC) #3
Nils Barth (inactive)
https://codereview.chromium.org/183013013/diff/10001/Source/bindings/scripts/blink_idl_lexer.py File Source/bindings/scripts/blink_idl_lexer.py (right): https://codereview.chromium.org/183013013/diff/10001/Source/bindings/scripts/blink_idl_lexer.py#newcode88 Source/bindings/scripts/blink_idl_lexer.py:88: def __init__(self, debug=False, outputdir=None, optimize=True): On 2014/03/06 07:58:41, haraken ...
6 years, 9 months ago (2014-03-06 08:09:46 UTC) #4
Nils Barth (inactive)
On 2014/03/06 07:58:40, haraken wrote: > Sorry for the review delay. n/p -- enough backup ...
6 years, 9 months ago (2014-03-06 08:10:05 UTC) #5
Nils Barth (inactive)
The CQ bit was checked by nbarth@chromium.org
6 years, 9 months ago (2014-03-06 11:12:58 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/nbarth@chromium.org/183013013/30001
6 years, 9 months ago (2014-03-06 11:13:14 UTC) #7
commit-bot: I haz the power
Change committed as 168630
6 years, 9 months ago (2014-03-06 12:14:12 UTC) #8
Nils Barth (inactive)
6 years, 9 months ago (2014-03-07 09:29:58 UTC) #9
Message was sent while issue was closed.
FWIW, while this is a pretty minor improvement on Linux, it's apparently a
significant improvement on Windows (>30%)!

Powered by Google App Engine
This is Rietveld 408576698