Closed Bug 792490 Opened 12 years ago Closed 12 years ago

IonMonkey: Getting img.width 25x slower in Uint8ClampedArray benchmark

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 786126

People

(Reporter: azakai, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: regression)

Attachments

(2 files)

Attached file benchmark
Attached is a benchmark that is the code the emscripten test suite uses to reftest images, basically a loop on Uint8ClampedArrays that originate from canvas images. This is 25x slower with javascript.options.ion.content on than off (or compared to before IonMonkey landed).

I don't see the same problem in the shell, so either I did something wrong when I tried to convert to a shell benchmark, or there is some interaction with the image's imageData.

To run the benchmark, load the page and look in the web console.
Attached image image for benchmark
This bug might a duplicate of Bug 790628 which also use Uint8ClampedArrays.
I forgot there is a reference image the benchmark looks for. You need to download the html and image into a dir, and run the html.
If it doesn't happen in the shell, it could be going through the DOM in which case this will be fixed by the DOM work in bug 786126.
This testcase gets img.width inside the hot loop.  So yeah, bug 786126 would completely massacre performance here...
Depends on: 786126
Thanks bz, I checked that saving img.width into a local var avoids the problem, confirming your analysis.
Blocks: IonSpeed
Keywords: regression
OS: Linux → All
Hardware: x86 → All
Summary: Image/Uint8ClampedArray benchmark 25x slower with IonMonkey → Getting img.width25x slower with IonMonkey in Uint8ClampedArray benchmark
Summary: Getting img.width25x slower with IonMonkey in Uint8ClampedArray benchmark → IonMonkey: Getting img.width 25x slower in Uint8ClampedArray benchmark
Verified fixed by the recent DOM IC work.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: