Hi Yang,

I have spent quite some time to create a repro that executes the exact same 
code in the exact same state, once with the code loaded from cached data, 
and once with the code running from a startup snapshot. 

In this standalone repro, the total time is indeed better for starting from 
a startup snapshot (column 2), but note that executing the startup code 
(blue) is 27% slower when the same code executes with the same state from a 
startup snapshot:


The repro is at https://github.com/alexandrudima/v8-repro and I would 
appreciate if you can please take a look. The README there contains all the 
steps needed to set it up.

Here are some specific answers in blue:

> When you say classes run slower, do you mean they take longer to execute, 
or do you mean they spend time on compilation too?
I mean the code takes longer to execute, I use Date.now() before and after 
executing the code.

> Does your non-snapshotted version use proxies too? Proxies are indeed 
significantly slower.
This makes a lot of sense. I have removed the usage of proxies, such that 
both versions have the exact same code.

> You should no longer need --ignition --turbo. This is the default with 
the newest V8.
> What version of V8 are you using?
The one that comes with Electron 1.7.9, v8 version

> It's not expected that code in the snapshot is slower than code at 
runtime. But I expect that there is no code embedded in the snapshot in the 
first place.
I'm sorry, I don't understand what you mean. The startup snapshot contains 
the source code inside of it (see index2.html in the repro where no code 
loading is needed, as the code is part of the startup snapshot).

> Do you have a small repro I can play with? E.g. source to include in the 
snapshot and the code to run. Ideally pure JS that I can run in Node.
See https://github.com/alexandrudima/v8-repro
I'm sorry, the repro is not small and it involves running Electron, as the 
source code which reproduces needs electron to execute. I have tried to 
load only a subset of the code (some editor text buffer and stress it out 
by doing large text operations), but I could not reproduce the same 
slowdown in that case. If you can guide me through it, I can try to reduce 
the repro, but I don't know what I'm looking for. Everything is slower, 
there is not one particular section of code that is slower.

P.S. If you uncomment the link tag in the html files, this is what the code 
is doing:


Thank you,


v8-users mailing list
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to