[Webkit-unassigned] [Bug 212511] New: br_table is slow or it doesn't scale

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 28 23:30:40 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=212511

            Bug ID: 212511
           Summary: br_table is slow or it doesn't scale
           Product: WebKit
           Version: Other
          Hardware: All
                OS: All
            Status: NEW
          Severity: Enhancement
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: brezaevlad at gmail.com

Consider this C file https://gist.github.com/BrzVlad/1b5a6bdb20205db1c970edae709d337e. Compile it to wasm using an emsdk (emsdk/upstream/emscripten/emcc -O2 huge-interp.c). Run it once as is and once with SWITCH_CASE defined to nothing. While on v8 you can see that the performance is more or less the same, on jsc the test case becomes 10x slower, which shouldn't happen. Looking into the generated native code, it shows that br_table is implemented by doing a lot of sequential comparisons rather than dispatching through a table.

This is significantly impacting the performance of the mono runtime (when it is running in interpreter mode)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200529/3faf771f/attachment-0001.htm>


More information about the webkit-unassigned mailing list