Make Vector asserts into release asserts
Categories
(Core :: MFBT, task)
Tracking
()
People
(Reporter: mccr8, Unassigned)
References
Details
Attachments
(1 file)
It would be nice if we could make at least the bounds checks for the MFBT Vectors into release asserts, like we have for nsTArray.
Reporter | ||
Updated•3 years ago
|
Comment 1•3 years ago
|
||
I'm a little concerned that this will negatively impact JS and wasm compile times, but I guess we'll see.
Reporter | ||
Comment 2•3 years ago
|
||
That is something to keep in mind, but release assert bounds checks were added to nsTArrays without any noticeable performance impact.
Comment 3•3 years ago
|
||
(In reply to Andrew McCreight [:mccr8] from comment #2)
That is something to keep in mind, but release assert bounds checks were added to nsTArrays without any noticeable performance impact.
JS engine code might be more performance-sensitive (on average) than other code in Gecko though...
Reporter | ||
Comment 4•3 years ago
|
||
SegmentedVector and Buffer also have the same kind of bounds check asserts.
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 5•3 years ago
|
||
What benchmarks should I check before trying to land this?
Reporter | ||
Comment 6•3 years ago
|
||
Comment 7•3 years ago
|
||
(In reply to Andrew McCreight [:mccr8] from comment #5)
What benchmarks should I check before trying to land this?
The ones in CI that come to mind are:
- speedometer
- jsshell-bench-*-sm
- matrix-react-bench
- sunspider
- wasm-godot-*
It would be nice to have a before vs after Perfherder URL.
Comment 8•3 years ago
|
||
We do a lot of vector operations during compilation in general. Wasm baseline compilation time will be interesting for sure, I forget whether the wasm-godot-* benchmarks display that or if baseline compilation time is reported separately. If need be I can also apply the patch locally and generate some timings on misc relevant hardware here.
Reporter | ||
Updated•2 years ago
|
Description
•