Closed Bug 1267200 Opened 8 years ago Closed 8 years ago

Investigate RegExp regression on compareOS only

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: h4writer, Unassigned)

References

Details

Running only octane-regexp I noticed:

=> Shell
before: 3570 (--no-threads: 2892)
after: 3800 (--no-threads: 3407)

=> Browser
before: 3027
after: 2302

=> Browser (after):
-- javascript.options.ion.offthread_compilation: true  - 2395
-- javascript.options.ion.offthread_compilation: false - 3439 (equals js --no-threads)


Why is this giving problems? Somehow enabling offthread compilation decreases performance?
Also these mac mini's have 2 physical core, 4 core in total.
Blocks: 1265307
Can following difference be related?

>     inlineMaxBytecodePerCallSiteMainThread_ = 500;
>     inlineMaxBytecodePerCallSiteOffThread_ = 1000;

So, when compiling off thread, it could inline more functions (the length of some RegExp functions are now between 500-1000).  could that consume much longer time on browser?
(In reply to Tooru Fujisawa [:arai] from comment #2)
> Can following difference be related?
> 
> >     inlineMaxBytecodePerCallSiteMainThread_ = 500;
> >     inlineMaxBytecodePerCallSiteOffThread_ = 1000;
> 
> So, when compiling off thread, it could inline more functions (the length of
> some RegExp functions are now between 500-1000).  could that consume much
> longer time on browser?

I'm not amazed by the discrepancy between offthread and mainthread compilation. We know that performance will be less when there are no offthread compilations. One of the reasons is compiling on the mainthread, but also the different heuristics, like you mention.

The strange thing here is the BIG discrepancy between browser and shell. The browser is always a little bit slower. But --no-threads on octane-regexp is mostly the same. Though with offthread compiler we are suddenly going from 3800 to 2400. That is very strange! And also this isn't related to one specific OS, but to a specific slave. We don't see this issue on the dedicated win 8 machine, but we see it on the mac mini win 10 machine.
Seems to have been fixed by followup bugs on the selfhosting of regexp.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.