Investigate if AtomizeString could avoid JSRope::flatten in the cases when the atom is cached
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
People
(Reporter: smaug, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [sp3])
Attachments
(1 obsolete file)
Currently AtomizeString always flattens the string and that shows up in the profiles.
https://share.firefox.dev/3whDxUR as an example (from sp2, React-todo).
Could we possible flatten the string only when creating a new atom or something?
This depends on bug 1808673 and whether that proves to be useful or not.
Reporter | ||
Comment 2•2 years ago
|
||
FWIW, sp2 React-Todo about 1/3 of the strings passed to AtomizeStrings are JSRopes
Updated•2 years ago
|
Updated•2 years ago
|
Reporter | ||
Comment 3•2 years ago
|
||
jquery-todo doesn't
https://treeherder.mozilla.org/perfherder/comparesubtest?originalProject=try&newProject=try&newRevision=6f4aae41c483038384b1227be93ae3521c6f1360&originalSignature=3451139&newSignature=3451139&framework=13&originalRevision=f20001e551fb901b6d481910872ebff0f88464b6&page=1&filter=jquery&showOnlyImportant=1
I need to investigate this one.
The patches on are still pretty horrible looking. I just copy-pasted random needed stuff to JSAtom.cpp and Caches.h so that I can play around with this.
Reporter | ||
Comment 4•2 years ago
|
||
Depends on D167490
Reporter | ||
Comment 5•2 years ago
|
||
https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=153068fd9aa8bad14a6ea9b284d6b3eb6027ff43&newProject=try&newRevision=5ba9e4a1533d58bdef6078fba3e0a5bcdb4e92cb
will have some updated numbers. Hopefully jquery won't regress anymore.
React atomizes lots of JSRopes, jQuery lots of linear strings.
Reporter | ||
Comment 6•2 years ago
|
||
Reporter | ||
Comment 7•2 years ago
|
||
Comment on attachment 9314104 [details]
WIP: Bug 1811749, Don't flatten so often in atomize, quick ugly hack
Ended up merging the patches, and the patch is now in bug 1808673
Reporter | ||
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Description
•