Open Bug 1939425 Opened 1 year ago Updated 1 year ago

[WASM] Demo at https://jtiscione.github.io/webassembly-wave/index.html is slower on Nightly on certain modes

Categories

(Core :: JavaScript: WebAssembly, task, P3)

task

Tracking

()

People

(Reporter: mayankleoboy1, Assigned: jseward)

References

(Blocks 2 open bugs, )

Details

Attachments

(2 files)

Go to https://jtiscione.github.io/webassembly-wave/index.html
Set passes to 12
Select either "Clang" or "ASsembly Script" mode.

AR: Nightly gets lesser FPS compared to Chrome

Clang:
Firefox: https://share.firefox.dev/3VYrtVK (41FPS without hte profiler)
Chrome: 52FPS

Assembly Script:
Firefox: https://share.firefox.dev/4fCaTly (44FPS)
Chrome: 52FPS

Most of this is time in Wasm code so it's hard to say why we're slower without looking at the generated code.

Ryan: looking at profiles in this bug and other bugs, I noticed we sometimes get "Wasm (baseline)" as profiler category or "Wasm (other)" like in this case, but this should probably be "Wasm (ion)"?

Flags: needinfo?(rhunt)
See Also: → 1934663
Type: defect → task

Yeah, it seems likely that it's due to bug 1934663 which breaks profiling categories with lazy tiering.

Mayank, can you confirm is this is force enabling the new lazy tiering mode? Or is this just the standard configuration (no changed prefs)?

Flags: needinfo?(rhunt) → needinfo?(mayankleoboy1)

I dont remember (it probably was with lazy tiering force enabled).

But i captured fresh profiles:

Lazy tiering force enabled

Lazy tiering disabled (default setting)

Flags: needinfo?(mayankleoboy1) → needinfo?(rhunt)
Assignee: nobody → jseward
Flags: needinfo?(rhunt)

Top basic blocks in wasm code, for Firefox. Three loops have been
identified. Search for "Loop".

And the same for Chromium, with the equivalent 3 loops identified.

Obvious differences:

  • Firefox has poorer code generation for the long basic blocks in Loop 2 and Loop 3
  • Chromium unrolls Loop 3; FX doesn't
Priority: -- → P3
Severity: -- → N/A
Blocks: wasm-codepen
No longer blocks: wasm-perf-gap
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: