Closed
Bug 1121877
Opened 11 years ago
Closed 2 months ago
Evaluate OpenCV performance with asm.js - operation bitwise_and/or/not/xor
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: kaku, Unassigned)
References
Details
Attachments
(4 files)
This is a case study of bug 1116674.
The bitwise_and, bitwise_or, bitwise_not and bitwise_xor operations of asm.js version OpenCV are slow and share the same pattern. There is much more performance-drop while dealing with uint8 and sint8 data type whcih get better oprtimization in native environment.
The benchmark table could is here:
https://docs.google.com/a/mozilla.com/spreadsheets/d/1w8gr1_q_dQclTaGyiMtAhlwj_5_HPVKbHWfwUszPU40/edit#gid=1173776577
Reporter | ||
Comment 1•11 years ago
|
||
The runnable HTML/JS files and profiling file of cv::bitwise_and operarion to different datatypes.
The operation description: http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=bitwise_and#bitwise-and
Reporter | ||
Comment 2•11 years ago
|
||
The runnable HTML/JS files and profiling file of cv::bitwise_not operarion to different datatypes.
The operation description: http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=bitwise_and#bitwise-not
Reporter | ||
Comment 3•11 years ago
|
||
The runnable HTML/JS files and profiling file of cv::bitwise_or operarion to different datatypes.
The operation description: http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=bitwise_and#bitwise-or
Reporter | ||
Comment 4•11 years ago
|
||
The runnable HTML/JS files and profiling file of cv::bitwise_xor operarion to different datatypes.
The operation description: http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=bitwise_and#bitwise-xor
Reporter | ||
Comment 5•11 years ago
|
||
Hi Luke and Alon,
This is a new case.
Please take a look to the attached files.
Thanks.
Flags: needinfo?(azakai)
Reporter | ||
Updated•11 years ago
|
Flags: needinfo?(luke)
![]() |
||
Comment 6•11 years ago
|
||
Once thing I noticed, just running this in the FF builtin profiler, is that about 11% of the time is spent in ___muldi3 which seems to be int64-related. It looks like this is called from an OpenCV function randBits. Looking at the names of some of the symbols in the callstack ("warmup_impl" and "TestBase") it's possible these aren't part of the measured time of the benchmark, though, they are just used to set up the workload?
Looking at the main loop, I don't see any flagrant problems, so it sounds like this could be another instance of the problem in bug 1121860.
Flags: needinfo?(luke)
Comment 7•11 years ago
|
||
Hmm, profiler seems broken for me on nightly, so I can't see which are the hot functions here. Luke, does it work for you? When I stop profiling, it says "loading" and then nothing happens.
Flags: needinfo?(azakai)
![]() |
||
Comment 8•11 years ago
|
||
I think that's an e10s problem; worked for me when I opened a non-e10s window.
Comment 9•11 years ago
|
||
Ah, thanks, it does work in non-e10s.
Yes, nothing odd in the asm.js output, looks reasonable. Perhaps natively it can vectorize or do something else impressive?
Comment 10•7 years ago
|
||
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INACTIVE
Updated•7 years ago
|
Status: RESOLVED → REOPENED
Resolution: INACTIVE → ---
Updated•3 years ago
|
Severity: normal → S3
Comment 11•2 months ago
|
||
ASM.js is replaced by WASM these days.
Status: REOPENED → RESOLVED
Closed: 7 years ago → 2 months ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•