Closed Bug 1402078 Opened 7 years ago Closed 7 years ago

memops benchmark wasm baseline perf issues

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: azakai, Unassigned)

References

Details

Attachments

(2 files)

Attached file sm-wasm_memops.js
Running the attached memops benchmark is fast in the browser, and fast in the shell with --no-wasm-baseline (a little faster than v8, for comparison). However, running in the shell with no flags, or with --no-wasm-ion, is about 4x slower.

Does baseline behave differently in the shell and browser? Seems like OSR might be an issue here, but it's confusing to me that it's ok in the browser but not the shell.
Attached file sm-wasm_memops.wasm
Ahh right, this is the expected behavior for the moment and only in the shell (baseline is only enabled by default in the shell).  When bug 1380033 lands, the heuristics will only activate baseline/tiering for "big" wasm modules ("big" calculated relative to CPU and number of cores) and including most (all Lars?) everything in Embenchen.

But for the moment, there is no OSR and so if you do happen to be big enough to activate tiering and you get stuck in one tight loop before Ion completes, you'll get stuck in baseline.

So based on this, I think we can close with WFM when bug 1380033 lands (real soon).
All of embenchen will be compiled untiered on desktop/laptop systems; but probably not the very largest ones on mobile but TBD (I've seen Bullet be tiered on my Android phone).  We need to improve the tiering heuristics to properly distinguish fast and slow systems, at which point even Bullet will be untiered on high-end phones going forward.
Depends on: 1380033
Better now?
Flags: needinfo?(azakai)
Yeah, all benchmarks I track look good now.
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(azakai)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: