Last Comment Bug 652303 - TI+JM is slower than TM on this array testcase
: TI+JM is slower than TM on this array testcase
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86 Mac OS X
: -- normal (vote)
: ---
Assigned To: general
:
Mentors:
Depends on: 652321 662766
Blocks: infer-perf-regress LandTI
  Show dependency treegraph
 
Reported: 2011-04-22 22:54 PDT by Boris Zbarsky [:bz]
Modified: 2011-06-08 11:50 PDT (History)
8 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Shell testcase (1.28 KB, text/plain)
2011-04-22 22:54 PDT, Boris Zbarsky [:bz]
no flags Details

Description Boris Zbarsky [:bz] 2011-04-22 22:54:46 PDT
Created attachment 527913 [details]
Shell testcase

See attached shell testcase.  I see times around 61ms in TM and 73ms in TI+JM.
Comment 1 Jan de Mooij [:jandem] 2011-04-23 05:12:32 PDT
Are you on 64-bit? I see these numbers (JM tip):

32-bit:

-m -n: 59 ms
-j:    71 ms
-m:    97 ms

64-bit:

-m -n: 99 ms
-j:    82 ms
-m:    154 ms

The problem is that we only inline jsop_mod on 32-bit, on 64-bit we always call a stub.. I will file a bug, we should try to fix this in TM for Firefox 6.
Comment 2 Jan de Mooij [:jandem] 2011-04-23 05:19:28 PDT
Filed bug 652321.
Comment 3 Jan de Mooij [:jandem] 2011-04-23 05:56:48 PDT
With the patch in bug 652321 applied to JM:

64-bit:

-m -n: 64 ms
-j:    81 ms
-m:    101 ms
Comment 4 Boris Zbarsky [:bz] 2011-04-23 08:34:59 PDT
> Are you on 64-bit?

Yes (note that the bug is filed on Mac).
Comment 5 David Mandelin [:dmandelin] 2011-06-07 18:28:26 PDT
Before landing, we need to make sure that this doesn't regress Mac when TI is pref'd off. If that checks out, this can be unhooked from LandTI.
Comment 6 Jan de Mooij [:jandem] 2011-06-08 04:20:01 PDT
This regressed terribly in the last month. From 97 ms (comment 1) to 408 ms.

parseInt returns doubles and this disables the inline paths for JSOP_MOD/JSOP_GETELEM.
Comment 7 Jan de Mooij [:jandem] 2011-06-08 05:00:15 PDT
With the patch in bug 662766 there's a large perf win here compared to the TM-branch, even without -n. I'll close this bug after landing the patch.
Comment 8 Jan de Mooij [:jandem] 2011-06-08 11:50:53 PDT
Some 64-bit numbers:

JM tip:

js -m -n    : 64 ms
d8          : 77 ms
js -j       : 82 ms
js -m -j -p : 82 ms
js -m       : 111 ms

TM tip:

js -j       : 144 ms
js -m -j -p : 144 ms
js -m       : 355 ms

32-bit is a bit faster (59 ms with -m -n). Not much more to do here.

Note You need to log in before you can comment on or make changes to this bug.