Closed Bug 1633625 Opened 5 years ago Closed 4 years ago

Make a GC microbenchmark shell test suite

Categories

(Core :: JavaScript: GC, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- affected

People

(Reporter: sfink, Assigned: sfink)

Details

Attachments

(38 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

Finally going to start trickling these patches in.

Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ee7b677a58d4 Reformat to eslint style https://hg.mozilla.org/integration/autoland/rev/25677e1e8ae9 gc-ubench UI improvements r=jonco https://hg.mozilla.org/integration/autoland/rev/228c0a6a6fa5 Consolidate some timing code into FrameTimer r=jonco https://hg.mozilla.org/integration/autoland/rev/5fa27a3eb904 Load gc-ubench test loads from a file listing r=jonco https://hg.mozilla.org/integration/autoland/rev/f2f85c9314d9 Split out shared benchmark harness from HTML UI. Summary metric computation is still in the UI for now. r=jonco https://hg.mozilla.org/integration/autoland/rev/01c15698c52e Move load management into a global AllocationLoadManager r=jonco https://hg.mozilla.org/integration/autoland/rev/11f931f75953 Move FrameTimer to ui.js since the "tests" are still exclusive to the web UI for now r=jonco
Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2e2e7b5d4a80 Complete the renaming of "garbage total" to "garbage piles" r=jonco https://hg.mozilla.org/integration/autoland/rev/05f1caf2067e Move load parameters into the appropriate part of the web UI r=jonco https://hg.mozilla.org/integration/autoland/rev/9f781166ebe7 Extract out a load cycle manager r=jonco https://hg.mozilla.org/integration/autoland/rev/69515a716bc5 Changed how allocation loads are started/stopped r=jonco https://hg.mozilla.org/integration/autoland/rev/e64e2d20b81b Drop default #garbage piles from 8 million to 8. r=jonco https://hg.mozilla.org/integration/autoland/rev/e1122eb68511 Redo how load parameters are displayed, and fix invalid inputs for them r=jonco https://hg.mozilla.org/integration/autoland/rev/a8c6fc87c62b Wrap timing code up in a FrameHistory class r=jonco

Oops, forgot the leave-open flag yet again.

Status: RESOLVED → REOPENED
Keywords: leave-open
Resolution: FIXED → ---
Status: REOPENED → ASSIGNED

It makes more sense to clearKeptObjects to make things collectable, then do a collection, and then run any finalizations as part of drainJobQueue.

Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/97079b757b57 move performance.mozMemory -> performance.mozMemory.gc to match the JS shell, and because performance.mozMemory.mallocBytes is deceptive when it only refers to GC-controlled malloc bytes r=jonco,smaug https://hg.mozilla.org/integration/autoland/rev/b0e7c0beb052 Record malloc bytes (from the zone only) r=jonco https://hg.mozilla.org/integration/autoland/rev/d7e1fb886446 Implement a performance.mozMemory.mallocBytes accessor for all-zones malloc memory r=jonco https://hg.mozilla.org/integration/autoland/rev/51e3676256c7 Convert Graph and subclasses into JS classes r=jonco https://hg.mozilla.org/integration/autoland/rev/e04b67a3ac24 Make noAllocation mutator load less special r=jonco https://hg.mozilla.org/integration/autoland/rev/7e985178f7dc Allow mutator loads to be disabled (presumably based on environment) r=jonco https://hg.mozilla.org/integration/autoland/rev/28980e6af06f Add new "deepWeakMap" mutator load r=jonco https://hg.mozilla.org/integration/autoland/rev/6fd685c690a8 Make class declarations reloadable r=jonco https://hg.mozilla.org/integration/autoland/rev/462f792e609d Basic shell harness for running the GC microbenchmarks r=jonco https://hg.mozilla.org/integration/autoland/rev/6c6d07b53773 Split out host-provided functionality (currently SpiderMonkey and Firefox) r=jonco https://hg.mozilla.org/integration/autoland/rev/1a7da96bca66 Substring matching on mutators passed on command line r=jonco https://hg.mozilla.org/integration/autoland/rev/70d5de256f8b Expose a maybegc() testing function r=jonco https://hg.mozilla.org/integration/autoland/rev/16b7d6a72288 Call clearKeptObjects before drainJobQueue. r=jonco https://hg.mozilla.org/integration/autoland/rev/cc9e3394bf4f Add a V8 shell runner r=jonco https://hg.mozilla.org/integration/autoland/rev/37f859f3252e Create a PerfTracker class that monitors the execution and computes performance results. r=jonco https://hg.mozilla.org/integration/autoland/rev/a57b374c5f80 Implement a command-line argument parser modeled on Python's argparse r=jonco https://hg.mozilla.org/integration/autoland/rev/9e31e7bd21c0 Split out schedulers and choose via command line argument --sched r=jonco
Severity: -- → N/A
Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1416209aafe6 Implement --duration/-d command line option. r=jonco https://hg.mozilla.org/integration/autoland/rev/c83d1d35e4cd Adjust garbagePerFrame to around 50% 60fps frame drops on my laptop r=jonco https://hg.mozilla.org/integration/autoland/rev/bf6efd095484 Split out a sequencer object. r=jonco https://hg.mozilla.org/integration/autoland/rev/e192ac723df1 Replace LoadCycle sequencer with a more general ChainSequencer. r=jonco https://hg.mozilla.org/integration/autoland/rev/a94d86a69ec8 Use mutator objects instead of names (minor refactor). r=jonco https://hg.mozilla.org/integration/autoland/rev/dac4bcdd1a5b Eliminate events in favor of pushing start/end control down into sequencers. r=jonco
Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9920987a04bc Implement a Find50Sequencer that searches for the garbagePerFrame resulting in 50% frame drop at 60fps r=jonco

== Change summary for alert #26355 (as of Fri, 26 Jun 2020 18:41:49 GMT) ==

Improvements:

10% tabpaint windows10-64-shippable-qr opt e10s stylo 45.17 -> 40.77

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=26355

The leave-open keyword is there and there is no activity for 6 months.
:sfink, maybe it's time to close this bug?

Flags: needinfo?(sphink)

Everything I've implemented so far has landed. Clearing leave-open.

Status: ASSIGNED → RESOLVED
Closed: 4 years ago4 years ago
Flags: needinfo?(sphink)
Keywords: leave-open
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: