Testcase generating N Weakref objects is 4x slowr and uses 4x more RAM.
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
People
(Reporter: mayankleoboy1, Unassigned)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
|
851 bytes,
text/html
|
Details |
Open attached testcase
N=5000000
Firefox: https://share.firefox.dev/41RHA9y (12s, 1.2GB)
Chrome: https://share.firefox.dev/3RfqDAV (3.5s, 300mb)
Testcase is extremely artificial. No ides if performance of Weakrefs is important.
Comment 1•1 year ago
|
||
27% of time spent in JS::Zone::traceKeptObjects. We could implement this using a generation count rather than an explicit set which is what I think JSC does. I'm not sure why the memory use is so much higher.
| Reporter | ||
Comment 2•1 year ago
|
||
Profile with JS and Native memory tracking if it helps: https://share.firefox.dev/3XT4Z9o
Updated•1 year ago
|
| Reporter | ||
Comment 3•1 year ago
|
||
Latest profile: https://share.firefox.dev/4oT5YSY (10s to generate, 1.5s to deref, 800MB memory use)
Comment 4•1 year ago
|
||
There are some changes coming in bug 1984091 that will affect this. Hopefully for the better (there will be fewer objects created at least).
| Reporter | ||
Comment 5•1 year ago
•
|
||
https://share.firefox.dev/3Ka1bwr (8s to generate, 1.4s to deref, 1GB memory)
There are also these grey bits that use CPU without seemingly doing anything.
This is with the parallel threshold set to 1MB.
https://share.firefox.dev/48TwFzE
Notice that the third area is not parallel, all the rest are.
Description
•