Note: There are a few cases of duplicates in user autocompletion which are being worked on.

Realtime raytracer regression

RESOLVED FIXED in mozilla14

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: gwagner, Assigned: bhackett)

Tracking

({regression})

unspecified
mozilla14
x86
Mac OS X
regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox11- wontfix, firefox12- wontfix)

Details

(URL)

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
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

6 years ago
Gregor, how do beta builds do?
tracking-firefox12: --- → ?
Keywords: regression
(Reporter)

Comment 3

6 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

6 years ago
OK, so we have an fps regression on beta too...
tracking-firefox11: --- → ?

Comment 5

6 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?
tracking-firefox11: ? → +
tracking-firefox12: ? → +
Assignee: general → terrence
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

5 years ago
Created attachment 605748 [details] [diff] [review]
patch

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)
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

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/149eff9b7b92
https://hg.mozilla.org/mozilla-central/rev/149eff9b7b92
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla14
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.
(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
tracking-firefox11: + → -
tracking-firefox12: + → -

Updated

5 years ago
Blocks: 744727
Depends on: 755750
You need to log in before you can comment on or make changes to this bug.