Closed
Bug 827534
Opened 13 years ago
Closed 8 years ago
Mark nsXBLDocumentInfo held by nsXULPrototypeCache black during GC
Categories
(Core :: XBL, defect)
Core
XBL
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: mccr8, Assigned: mccr8)
References
Details
Attachments
(2 files)
10.69 KB,
patch
|
Details | Diff | Splinter Review | |
5.46 KB,
patch
|
Details | Diff | Splinter Review |
The times are kind of all over the place, but the CleanupJS times are similar between these two, so they are probably comparable. The time added to the GC was 129us.
Without patch:
cc: MarkWindowList mediator took 410us
cc: MarkWindowList watcher took 58us
cc: AppShellService took 34us
cc: xulCache took 1136us
cc: CleanupJS took 1171us
cc: TOTAL took 2855us
With patch:
cc: MarkWindowList mediator took 268us
cc: MarkWindowList watcher took 76us
cc: AppShellService took 45us
cc: xulCache took 35us
cc: CleanupJS took 1209us
cc: TOTAL took 1679us
As you can see, this knocks about 1ms off the time for nsCCUncollectableMarker::Observe.
Comment 1•13 years ago
|
||
Which phase of GC does this make slower? Can we ensure we're not making a slow GC phase even
slower?
Comment 2•13 years ago
|
||
But yes, this is great :)
Assignee | ||
Comment 3•13 years ago
|
||
It is making gray marking slower, which does tend to be one of the slower phases.
I'm not sure if a 0.129ms slower GC is worth the tradeoff for a 1ms fast CC cleanup. I could probably tweak it a bit (only looking at the globals instead of the protos too) and maybe that would make it faster.
Assignee | ||
Comment 4•13 years ago
|
||
Now that I think about it, mozilla::dom::TraceBlackJS is interesting because it isn't needed for correctness. Potentially we could shove it into its own slice, depending on how often this causes us to miss things.
Assignee | ||
Comment 5•13 years ago
|
||
Assignee: nobody → continuation
Assignee | ||
Comment 6•11 years ago
|
||
I took some fresh measurements here, and the XUL cache stuff was taking less than 100us so this seems less important now. I'm not sure why things are so much faster.
Assignee | ||
Comment 7•11 years ago
|
||
Comment 8•11 years ago
|
||
When getting the times it would be good to check few different cases, like the one
having just couple of tabs or having lots of tabs.
And then what happens when closing a "heavy" tab etc.
(I'm still in process to get access to some games so we could check also how forget skippable behaves there)
Comment 9•11 years ago
|
||
Messagemanager unmarking is kind of guaranteed to take more time the more we have tabs.
And looks like it is also a case to optimize for e10s/child-process.
Assignee | ||
Comment 10•8 years ago
|
||
This is probably okay for now...
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
Assignee | ||
Updated•8 years ago
|
Resolution: WORKSFORME → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•