Implement dev live optimizer#4611
Merged
spalger merged 57 commits intoelastic:masterfrom Aug 11, 2015
Merged
Conversation
added 30 commits
August 5, 2015 08:44
added 15 commits
August 10, 2015 23:31
Contributor
There was a problem hiding this comment.
Could do with less newlines here...
added 5 commits
August 11, 2015 14:17
This was referenced Aug 12, 2015
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes: #4569
Fixes: #4554
Fixes: #4556
Fixes: #4555
Fixes: #4549
This pr offers the the following changes:
.babel.jsfiles, dramatically shortening webpack build timeThere are also a number of new config options available, each with the goal of giving users more control over how things are built.
*unlessoptimize.testsistruetruein dev,falseotherwisetrue: produce high quality maps with line and column precisionfalse: disable source maps completely"fast": make quick and dirty maps (currently alias forcheap-module-eval-source-map)'/[\/\\](node_modules|bower_components)[\/\\]/'truefalse/used to create aRegExptruestats.jsonfile into theoptimize.bundleDirthat can be used with the webpack analyze tool to analyze build performance and contentsoptimize.bundleFilterto build the tests along with other bundlesfalseThe primary motivator for this change was the speed of the feedback loop. My testing offers the following stats:
Optimization times:
./bin/kibana./bin/kibana --optimize.bundleFilter=appSwitcher./bin/kibana --dev./bin/kibana --dev --optimize.unsafeCache=true./bin/kibana --dev --optimize.unsafeCache=true --optimize.sourceMaps=false./bin/kibana --dev --optimize.unsafeCache=true --optimize.sourceMaps=false --optimize.bundleFilter=appSwitcherMemory usage:
CPU Usage still climbs to 100% during optimization, but afterward the processing again idle at (or near) 0

[1] All threads are currently compiling the server's source code with babel at require-time which results in a slight performance penalty and memory overhead, but with #4597 we should be able to optimize this away.