Optimize NewPlainObjectWithProperties
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox104 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 1 open bug)
Details
(Whiteboard: [sp3])
Attachments
(5 files)
Assignee | ||
Comment 1•3 years ago
|
||
Assignee | ||
Comment 2•3 years ago
|
||
Depends on D150554
Assignee | ||
Comment 3•3 years ago
|
||
Depends on D150555
Assignee | ||
Comment 4•3 years ago
|
||
If the caller knows there are no duplicate or integer keys, we don't need to check
for these cases.
Depends on D150556
Assignee | ||
Comment 5•3 years ago
|
||
With TI we had a cache for this but we got rid of it when we removed TI. This patch
adds back a simpler version of it that caches the four most recently created
shapes. This cache has a good hit rate on the web and on Kraken's json-parse-financial
test.
Depends on D150557
Assignee | ||
Comment 6•3 years ago
|
||
This speeds up JSON.parse
quite a lot. Looking at the logs for the dromaeo jobs (this also runs Kraken) on autoland:
Linux64 before:
[#8] json-parse-financial Cycles:10 Average:39.40 Median:40.00 stddev:1.65 (4.1%) stddev-sans-first:1.64
Values: 41.0 39.0 42.0 38.0 40.0 38.0 37.0 40.0 41.0 38.0
Linux64 after:
[#8] json-parse-financial Cycles:10 Average:27.20 Median:27.00 stddev:1.62 (6.0%) stddev-sans-first:1.72
Values: 27.0 26.0 31.0 27.0 26.0 27.0 26.0 29.0 26.0 27.0
That's > 30% faster.
Comment 7•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4c8275c04902
https://hg.mozilla.org/mozilla-central/rev/a1a5403971ee
https://hg.mozilla.org/mozilla-central/rev/629757d308e1
https://hg.mozilla.org/mozilla-central/rev/a8698ac80892
https://hg.mozilla.org/mozilla-central/rev/585e41034e1e
Comment 8•3 years ago
•
|
||
Big improvements here on AWFY:
json-parse-inspector-Average
json-parse-inspector-First
json-parse-inspector-Geometric
json-parse-inspector-Worst
Lots of smaller improvements here on AWFY:
Vanilla-ES2015-TodoMVC/CompletingAllItems
Vanilla-ES2015-TodoMVC/CompletingAllItems/Sync
Vanilla-ES2015-TodoMVC/DeletingItems
Vanilla-ES2015-TodoMVC/DeletingItems/Sync
VanillaJS-TodoMVC
VanillaJS-TodoMVC/CompletingAllItems
VanillaJS-TodoMVC/CompletingAllItems/Sync
VanillaJS-TodoMVC/DeletingAllItems
VanillaJS-TodoMVC/DeletingAllItems/Sync
Updated•3 years ago
|
Updated•3 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Description
•