Closed Bug 602268 Opened 14 years ago Closed 14 years ago

do better with realtime raytracing

Categories

(Core :: JavaScript Engine, enhancement)

x86
macOS
enhancement
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 590379

People

(Reporter: bhackett1024, Unassigned)

Details

For the following site, which Gregor pointed out to me:

http://29a.ch/2010/6/2/realtime-raytracing-in-javascript

I've compared x86 browsers for bug 584917, and FPS with that patch goes from ~9fps to ~7.5fps (these predate bug 589398).  Tuning might help.  Safari and Chrome are 13fps and 22fps, respectively.

I looked at the source and the allocations seem to be primarily points (created with scripted new, have three properties) and rays (created with {...}, have two properties).  This patch increases the size of the point objects by four words --- two for the capacity and private, two for the extra initial slot (scripted 'new' objects have four slots initially).  The size of ray objects will balance out (capacity and private, but one less slot).

I want to understand this site more, particularly why it apparently has a very large working set (most objects it creates seem to be temporaries, from looking at the source).  I think performance will be bad regardless of tuning until we have a generational GC.  Also, it seems a good candidate for making a shell testcase from, unobfuscated source is available and free to copy.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.