Closed
Bug 1125398
Opened 11 years ago
Closed 11 years ago
Add additional loads to GC ubench
Categories
(Core :: JavaScript: GC, defect)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
mozilla38
People
(Reporter: sfink, Assigned: sfink)
References
(Blocks 1 open bug)
Details
Attachments
(9 files)
|
22.68 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
11.27 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
1.27 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
2.35 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
2.81 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
2.08 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
2.16 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
2.23 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
|
3.14 KB,
patch
|
terrence
:
review+
|
Details | Diff | Splinter Review |
Add in some more variants of mutator allocation behavior.
| Assignee | ||
Comment 1•11 years ago
|
||
Refactoring: split out the ubench code into a separate file.
Attachment #8554002 -
Flags: review?(terrence)
| Assignee | ||
Comment 2•11 years ago
|
||
Some of the mutator allocation loads I will be adding really need their own set of garbage/frame, total garbage parameters. (eg, if you create as many weakmap entries as you do plain objects, you're gonna have a bad time.)
Also change around the UI a bit. Make it more obvious what's going on when you're running a test or tests. Indent stuff. More gooderify.
Attachment #8554006 -
Flags: review?(terrence)
| Assignee | ||
Comment 3•11 years ago
|
||
Everyone's favorite GC nightmare: WeakMaps!
Attachment #8554008 -
Flags: review?(terrence)
| Assignee | ||
Comment 4•11 years ago
|
||
So certain optimizations would work really well if you're only considering a single weakmap. Make two of them.
Attachment #8554010 -
Flags: review?(terrence)
| Assignee | ||
Comment 5•11 years ago
|
||
Benchmark large slots allocation
Attachment #8554011 -
Flags: review?(terrence)
| Assignee | ||
Comment 6•11 years ago
|
||
Now for the really interesting stuff: DOM nodes!
Hm, come to think of it, I ought to have one where I put expandos on stuff.
Attachment #8554013 -
Flags: review?(terrence)
| Assignee | ||
Comment 7•11 years ago
|
||
ArrayBuffer objects are small and malloc a bunch of data. Good test.
Attachment #8554015 -
Flags: review?(terrence)
| Assignee | ||
Comment 8•11 years ago
|
||
Let's see how much we can suffer from foreground finalization.
Attachment #8554017 -
Flags: review?(terrence)
Updated•11 years ago
|
Attachment #8554002 -
Flags: review?(terrence) → review+
Comment 9•11 years ago
|
||
Comment on attachment 8554006 [details] [diff] [review]
Give each test load its own parameters
Review of attachment 8554006 [details] [diff] [review]:
-----------------------------------------------------------------
Much nicer.
::: js/src/devtools/gc-ubench/index.html
@@ +10,5 @@
> <script src="benchmarks/globalArrayArrayLiteral.js"></script>
> <script src="benchmarks/globalArrayLargeArray.js"></script>
> <script src="benchmarks/globalArrayObjectLiteral.js"></script>
> <script src="benchmarks/globalArrayReallocArray.js"></script>
> + <script src="benchmarks/selfCyclicWeakMap.js"></script>
I guess this needs to move down a couple patches.
@@ +25,5 @@
> <input type="button" id="stop" value="Pause" onclick="stopstart()"></input>
> </div>
>
> <div>
> + Duration: <input type="text" id="test-duration" size=3 value="8" onchange="duration_changed()"></input>s
"" around the 3 in size=3.
Attachment #8554006 -
Flags: review?(terrence) → review+
Comment 10•11 years ago
|
||
Comment on attachment 8554008 [details] [diff] [review]
Benchmark load: self-referential WeakMap
Review of attachment 8554008 [details] [diff] [review]:
-----------------------------------------------------------------
I winced reading this. You'll also want to move the import <script> from the prior patch to this patch.
Attachment #8554008 -
Flags: review?(terrence) → review+
Comment 11•11 years ago
|
||
Comment on attachment 8554010 [details] [diff] [review]
Benchmark load: Pair of mutually recursive weakmaps
Review of attachment 8554010 [details] [diff] [review]:
-----------------------------------------------------------------
Heh.
Attachment #8554010 -
Flags: review?(terrence) → review+
Comment 12•11 years ago
|
||
Comment on attachment 8554011 [details] [diff] [review]
Benchmark load: large objects
Review of attachment 8554011 [details] [diff] [review]:
-----------------------------------------------------------------
Yup. This should be the slots equivalent of globalArrayReallocArray.
Attachment #8554011 -
Flags: review?(terrence) → review+
Comment 13•11 years ago
|
||
Comment on attachment 8554013 [details] [diff] [review]
Benchmark load; DOM textNodes
Review of attachment 8554013 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/devtools/gc-ubench/benchmarks/textNodes.js
@@ +8,5 @@
> + unload: () => { garbage = []; garbageIndex = 0; },
> +
> + defaultGarbagePerFrame: "100K",
> + defaultGarbageTotal: "8",
> +
Whitespace at end of line.
@@ +12,5 @@
> +
> + makeGarbage: (N) => {
> + var a = [];
> + for (var i = 0; i < N; i++)
> + a.push(document.createTextNode("t" + i));
We'll also want a test with extremely large text nodes.
Attachment #8554013 -
Flags: review?(terrence) → review+
Comment 14•11 years ago
|
||
Comment on attachment 8554015 [details] [diff] [review]
Benchmark load: large ArrayBuffers (for big malloc data)
Review of attachment 8554015 [details] [diff] [review]:
-----------------------------------------------------------------
I guess those don't get nursery alloc with inline storage anymore?
Attachment #8554015 -
Flags: review?(terrence) → review+
Updated•11 years ago
|
Attachment #8554017 -
Flags: review?(terrence) → review+
| Assignee | ||
Comment 15•11 years ago
|
||
(In reply to Terrence Cole [:terrence] from comment #14)
> Comment on attachment 8554015 [details] [diff] [review]
> Benchmark load: large ArrayBuffers (for big malloc data)
>
> Review of attachment 8554015 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> I guess those don't get nursery alloc with inline storage anymore?
Large ones do not because they're large. Then again, small ones don't either, because they have finalizers. :-)
But it's probably not a loss, because small typed arrays and typed objects store their data inline now as long as you don't ask for their buffers. And I *think* they're nursery-allocatable too.
| Assignee | ||
Comment 16•11 years ago
|
||
Borrowing from smaug's event creation microbenchmark.
Attachment #8554862 -
Flags: review?(terrence)
Updated•11 years ago
|
Attachment #8554862 -
Flags: review?(terrence) → review+
| Assignee | ||
Comment 17•11 years ago
|
||
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/90623a5d6c0c
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/b8257c0c97ad
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/abe775af8073
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/4bbb59685268
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/cbf059987742
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/46cde5a19b8d
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/8a5b30881128
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/97c12091bda5
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/b5a4e4c8ed85
Comment 18•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/90623a5d6c0c
https://hg.mozilla.org/mozilla-central/rev/b8257c0c97ad
https://hg.mozilla.org/mozilla-central/rev/abe775af8073
https://hg.mozilla.org/mozilla-central/rev/4bbb59685268
https://hg.mozilla.org/mozilla-central/rev/cbf059987742
https://hg.mozilla.org/mozilla-central/rev/46cde5a19b8d
https://hg.mozilla.org/mozilla-central/rev/8a5b30881128
https://hg.mozilla.org/mozilla-central/rev/97c12091bda5
https://hg.mozilla.org/mozilla-central/rev/b5a4e4c8ed85
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
You need to log in
before you can comment on or make changes to this bug.
Description
•