JM+TI: |delete| perf regression with TI enabled

RESOLVED WORKSFORME

Status

()

--
minor
RESOLVED WORKSFORME
10 years ago
5 years ago

People

(Reporter: jruderman, Unassigned)

Tracking

(Blocks: 2 bugs, {perf, testcase})

Trunk
x86
Mac OS X
perf, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

10 years ago
These are both 5-15% slower with -j:

for(i=0;i<500000;++i) { delete d; }

for(i=0;i<500000;++i) { delete {}.d; }

TRACEMONKEY=verbose just says "Abort recording (line 1, pc 11): JSOP_DELNAME", so I guess this is just unimplemented.
Current JS shell numbers for testcase 1:
Interp: 178.964 ms
-j:     178.097 ms
-m:     131.561 ms
-m -n:  135.578 ms

Current JS shell numbers for testcase 2:
Interp: 166.417 ms
-j:     163.550 ms
-m:     87.306 ms
-m -n:  107.031 ms

JM is doing better than TM did on these testcases, but TI seems to regress things.
Blocks: 467263
Summary: TM: |delete| not traced → JM+TI: |delete| perf regression with TI enabled
The second one (DELPROP) is the most interesting and is a bit faster than V8 (36 vs 42 ms) if I move the {} out of the loop ({} inside the loop needs GGC):

var o = {};
for(i=0;i<500000;++i) { delete o.d; }
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.