With >2 parallel marking threads, the promise-heavy testcase from Bug 1949221 gets 30% slower
Categories
(Core :: JavaScript: GC, task)
Tracking
()
People
(Reporter: mayankleoboy1, Unassigned, NeedInfo)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
Create fresh Nightly profile
Open attached testcase (third testcase from bug 1949221)
Enter N=5000000
Click on "Generate Promises"
2 threads (Default): https://share.firefox.dev/4hdNE1V (7.6s)
4 threads: https://share.firefox.dev/4iyN3ZP (9.2s)
8 threads: https://share.firefox.dev/4itjNna (9.7s)
Observations: Each GCMajor takes 1.5x the time in the 8-thread case compared to 2-thread case. Lots of lock contention/waiting for allocator??
Similar slowndown for "resolve" and "reject" cases too.
maybe something to improve?
Reporter | ||
Updated•1 month ago
|
Reporter | ||
Comment 1•27 days ago
•
|
||
Profiles with Samply:
2 threads (default): https://share.firefox.dev/42eaUaG (7.6s)
8 threads: https://share.firefox.dev/41T6pDp (8.7s)
Gecko profiler
8 threads: https://share.firefox.dev/449JXY6 (9.2s)
So there is a slowdown, but about 15%.
Reporter | ||
Comment 2•27 days ago
|
||
Florian/Canova:
Profiles in comment 1 show a difference in runtime between the gecko profiler and Samply. Gecko profiler shows runtime of 9.2s, whereas Samply shows a runtime of 8.7s
Description
•