Closed
Bug 731398
Opened 13 years ago
Closed 13 years ago
Realtime raytracer regression
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla14
People
(Reporter: gwagner, Assigned: bhackett1024)
References
()
Details
(Keywords: regression)
Attachments
(1 file)
(deleted),
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
I see 2 regressions here.
First, from the current FF release version to Aurora 12, FPS drops from about 28 to 18 on my MP.
Second, From Aurora to Nightly the GC pause time seems to increase.
The GC log shows only *RESET* GCs.
Resets definitely cause longer GCs. I have a patch in bug 731052 that should at least show why the resets are happening.
Comment 2•13 years ago
|
||
Gregor, how do beta builds do?
tracking-firefox12:
--- → ?
Keywords: regression
Reporter | ||
Comment 3•13 years ago
|
||
Beta (FF11) gets about 22 FPS and around 80ms GC pause time.
Nightly gets 18 FPS and the average maxGC pause time of 135ms.
Comment 4•13 years ago
|
||
OK, so we have an fps regression on beta too...
tracking-firefox11:
--- → ?
Comment 5•13 years ago
|
||
Tracking for FF11 and FF12. Since this is very late in Beta 11, how can we come to an understanding of the total user effect of this issue? Presumably a 50% regression in some JS is the worst case here - but how can we get to an understanding of what that set is?
Updated•13 years ago
|
Assignee: general → terrence
Comment 6•13 years ago
|
||
The fps regression range is 9740118b9dcc:c2102c45c8da. This is ObjShrink: flagging Brian. I will open a new bug for the GC pause times.
Assignee: terrence → bhackett1024
Status: NEW → ASSIGNED
Assignee | ||
Comment 7•13 years ago
|
||
Assign singleton types to object literals created outside loops in global/eval scripts. This is a fix that is also necessary for good v8-raytrace perf (part of the patch in bug 638794). Improves my FPS from ~20 to ~30. Without this the vector objects which are continuously created by this page do not have a prototype with singleton type, which inhibits optimization of CreateThis. CreateThis is slower post-objshrink due to the need to do hashtable lookups to get data which was previously clogging up JSObject itself.
Attachment #605748 -
Flags: review?(dvander)
Comment 8•13 years ago
|
||
Thanks for the prompt fix! Very cool that it will also help v8-raytrace.
Comment on attachment 605748 [details] [diff] [review]
patch
Review of attachment 605748 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jsinferinlines.h
@@ +576,5 @@
> + if (!cx->typeInferenceEnabled())
> + return true;
> +
> + if (UseNewTypeForInitializer(cx, script, pc)) {
> + obj->setSingletonType(cx);
Does this need to propagate a false return?
Attachment #605748 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 10•13 years ago
|
||
Comment 11•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla14
Comment 12•13 years ago
|
||
This is tracked for FF12 - is there any reason to continue to do so? If we'd like to uplift to Aurora or Beta, please nominate with a risk/reward evaluation.
Comment 13•13 years ago
|
||
(In reply to Alex Keybl [:akeybl] from comment #12)
> This is tracked for FF12 - is there any reason to continue to do so? If we'd
> like to uplift to Aurora or Beta, please nominate with a risk/reward
> evaluation.
AFAIK, it significantly affects exactly one site, a raytracer demo.
status-firefox11:
--- → wontfix
status-firefox12:
--- → wontfix
You need to log in
before you can comment on or make changes to this bug.
Description
•