-
Notifications
You must be signed in to change notification settings - Fork 29.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use V8 snapshots for the amd-loader #28492
Comments
Challenges and things we need to tackle
|
Some results are in for this, since it is easy'ish to try. The idea is take all of |
We will finalise this in July |
Note that v8 snapshots have been disabled because of security concerns as of today. https://nodejs.org/en/blog/vulnerability/july-2017-security-releases/ Not sure if this affects electron, too. |
re #28492 (comment). Interesting. This won't have an immediate impact on us as electron is a little behind the latest version of node.js. Let's hope a better, less emergency-style, fix comes out soon. As far as I understand this isn't an issue with snapshots per se but with snapshotting seeds. |
After understanding the extend of work needed to make snapshots for all of our sources and static state we have re-scoped this issue to only snapshot the amd-loader. That made it a good exercise but performance wins are marginal. This is how snapshots and cached data are now used:
When starting up, the loader is more less already there and with the help of cached data loading the main chunk of our code is fast too (~500ms instead of ~1500ms). However, on the very first startup there is no cached data yet (is being generated then) and cached data cannot capture heap-state like snapshots do. We will keep an eye on snapshot, also new features for this landed in v8 recently and we are eager to have them in electron. Until then snapshot work is considered to be done. |
To improve startup performance we should use v8-snapshots. That helps with code-loading but also with initialising (static) state. There are some challenges and this issue is about identifying and assessing them.
The text was updated successfully, but these errors were encountered: