Various tests in Speedometer seem to spend quite a bit time in jS

NEW
Unassigned

Status

()

Core
JavaScript Engine
a year ago
2 days ago

People

(Reporter: smaug, Unassigned)

Tracking

(Depends on: 14 bugs, Blocks: 4 bugs)

36 Branch
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(platform-rel +)

Details

(Whiteboard: [qf:meta][platform-rel-Frameworks][platform-rel-EmberJS])

(Reporter)

Description

a year ago
While looking at some benchmarks I'm evaluating Speedometer again.
(not sure it is a very good benchmark, seems to focus on one particular case and testing how different frameworks deal with that, but we're quite slow with it anyhow).

http://mozilla.pettay.fi/moztests/Speedometer.tar.bz2
is from https://github.com/WebKit/webkit/tree/master/PerformanceTests/Speedometer
but I modified the InteractiveRunner.html to make profiling a bit easier.
So, using InteractiveRunner.html, check EmberJS-TodoMVC and click run.
In Zoom I see most of the time spent in JS, and that is also that Gecko profiler tells.

Also BackboneJS-TodoMVC seems to spend most of the time in JS, and AngularJS-TodoMVC, and
AngularJS-TodoMVC. And React-TodoMVC is based on Gecko profiler also largely JS. I see quite a bit IonBuilder calls there.

Could someone more familiar with JS engine and JIT look at the test.
(Reporter)

Comment 1

a year ago
s/and AngularJS-TodoMVC, and AngularJS-TodoMVC/and AngularJS-TodoMVC/

(jQuery test has at least some parsing stuff showing up in the profile, and VanillaJS-TodoMVC, and also FlightJS-TodoMVC, although it is mostly JS, )
(Reporter)

Comment 2

a year ago
Could someone from JS team look at this.
Recently I've seen JS to take lots of time in benchmarks which try to be realistic, like Speedometer.
(Note, the test just tries that, but totally is not realistic.)
Flags: needinfo?(jdemooij)
In profiles of these benchmarks I see the usual suspects: CrossCompartmentWrapper stuff, IC misses, and some non-trivial mprotect overhead when attaching Ion IC stubs.

I've some serious IC redesign work planned for the coming weeks/months (starting with bug 1255352), hopefully that will make our ICs more robust and allow us to optimize more cases.

Added this to my perf TODO list, clearing the needinfo for now.
Blocks: 1245974
Flags: needinfo?(jdemooij)
(Reporter)

Comment 4

a year ago
jandem, any news on this?
Flags: needinfo?(jdemooij)
(In reply to Olli Pettay [:smaug] from comment #4)
> jandem, any news on this?

Not yet. Right now I'm working on modernizing our exception handling and the JSContext/JSRuntime unification. I hope to continue working on CacheIR and other IC work soon though.
Flags: needinfo?(jdemooij)
(Reporter)

Comment 6

a year ago
(Just CCing some folks from bug 1241091, there might be something in common here, given that Speedometer tests various JS frameworks)
(Reporter)

Updated

a year ago
See Also: → bug 1241091

Comment 7

6 months ago
Using Nightly 53 (20161217) on desktop this site stays in a loop. In Android Nightly it stalls and eventually pulls up "Warning: Unresponsive script.. Script: https://browserbench.org/Speedo...ower_components/react/react.js:7174"
At least EmberJS seems to spend some time in the interpreter and fun_apply.
platform-rel: --- → +
Whiteboard: [platform-rel-Frameworks][platform-rel-EmberJS]

Updated

4 months ago
Depends on: 1339535

Updated

4 months ago
Depends on: 1339758

Updated

4 months ago
Blocks: 1339557
Blocks: 1337841

Updated

4 months ago
Depends on: 1341768

Updated

4 months ago
Depends on: 1328140

Updated

4 months ago
Whiteboard: [platform-rel-Frameworks][platform-rel-EmberJS] → [qf:meta][platform-rel-Frameworks][platform-rel-EmberJS]

Updated

4 months ago
Depends on: 1344469

Updated

4 months ago
Depends on: 1346191

Updated

4 months ago
Depends on: 1346217

Updated

4 months ago
Depends on: 1346546

Updated

3 months ago
Depends on: 1346723

Updated

3 months ago
No longer depends on: 1346723

Updated

3 months ago
Depends on: 1347489
Blocks: 1349447

Updated

3 months ago
Depends on: 1349924

Updated

2 months ago
Depends on: 1355472

Updated

2 months ago
Depends on: 1356315

Updated

a month ago
Depends on: 1364854

Updated

a month ago
Depends on: 1364908

Comment 9

a month ago
Been regularly testing speed on 2008 model laptop running Arch Linux. 
  * January on Browserbench 'Speedometer' I was maxing out at 10 runs per minute.
  * Test [on Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0 ID:20170515100238 CSet: e66dedabe582ba7b394aee4f89ed70fe389b3c46] is now running at 23.1 runs per minute.

131% speed improvement on the January test.

Keep up the amazing work folks!

Updated

a month ago
Depends on: 1366263

Updated

a month ago
Blocks: 1366777

Updated

a month ago
No longer blocks: 1366777

Updated

26 days ago
Depends on: 1368626

Updated

24 days ago
Depends on: 1369042
Depends on: 1369762

Updated

19 days ago
Depends on: 1370196

Updated

16 days ago
Depends on: 1371593

Updated

12 days ago
Depends on: 1372182

Updated

10 days ago
Depends on: 1373195
Depends on: 1373214
Depends on: 1373290
Depends on: 1373323
Depends on: 1370210
Depends on: 1368325
Depends on: 1373615
Depends on: 1313655
Depends on: 1374011
Depends on: 1374014
Depends on: 1374934
Depends on: 1375505
You need to log in before you can comment on or make changes to this bug.