[WIP] Adds performance build guide#5096
Conversation
QMy windows builds are slow! ABuy a mac |
PERF_GUIDE.md
Outdated
PERF_GUIDE.md
Outdated
There was a problem hiding this comment.
elaborate on differences between build types; set expectations on build times; if app doesn't meet expectations, there might be a problem; how do we identify the problem and what can tools help us with it;
PERF_GUIDE.md
Outdated
There was a problem hiding this comment.
missing the h in grap.<version>
|
@twokul any more time to work on this? |
PERF_GUIDE.md
Outdated
There was a problem hiding this comment.
what's considered a large application? Is 10 klocs or 150 klocs a large app?
There was a problem hiding this comment.
One of my apps is about 200kloc js app code, and it has sub second JS change times. 400ms-600ms (with source maps disabled) about 1s with sourceMaps on. Interestingly, the kloc doesn't really matter for rebuilds (well it does for sourceMaps sorta..) largely is a function of kloc + files + filters + disk speed that decides the performance.
We have been reducing our IO footprint, reducing the impact number of files has on us. Our current state is "ok" but have another push planned for a another hefty boost here, hopefully its something we can work on towards the end of the month.
When .less changes, it spends literally 4s purely inside less... Maybe some future stef will explore performance of the css world more.
We have been working on a different sourceMap VLQ encoder/decoder which is about an order of magnitude faster. Hopefully I'll have a chance over the next week or so to integrate it into broccoli-concat.
There was a problem hiding this comment.
Thanks that makes sense. I was just curious about what small, middle, large meant for this guide. This gives us a good reference, for a similar sized app with 1.13.12 we're at ~11secs for a rebuild, which is way better than with 1.13.8, but still slow enough to break the dev flow. I'll dig later this week to see where the problem is. My guess is that it's something specific to what we're doing.
There was a problem hiding this comment.
we typically see slower builds with:
- old plugins, static-compiler/ old jshint old broccoli-filter old XYZ etc.etc.etc.
- anti-virus
- strange custom plugins
- ember-browerify (I plan to work on this one this week, as my team started using it – and slowed down the build again :P)
- component-css addon (it needs to be fixed)
- likely more.
There was a problem hiding this comment.
1.13.12 is also without some pretty important internal performance work, please be sure to atleast be at 1.13.13.
f3544c4 to
1cd9ace
Compare
A good place for developers to start tracking issues down.
1cd9ace to
f89cafa
Compare
|
this is sufficiently useful to merge, we can continue to iterate as we have time. |
[WIP] Adds performance build guide
A good place for developers to start tracking issues down.