[Webkit-unassigned] [Bug 156147] [JSC] implement async functions proposal

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat May 28 18:07:19 PDT 2016


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

--- Comment #114 from Caitlin Potter (:caitp) <caitp at igalia.com> ---
I tried a version with 2 changes:

`m_runtimeFlags` replaced with a single bool member, and flipping the order of operations (check if identifier === "async" before testing the flag), the results are not promising:

```
Benchmark report for Octane on EchoBeach (MacBookPro11,5).

VMs tested:
"BeforePatch" at /Users/caitp/git/WebKit/OldBuild/jsc
"AfterPatch" at /Users/caitp/git/WebKit/WebKitBuild/Release/jsc

Collected 100 samples per benchmark/VM, with 10 VM invocations per benchmark. Emitted a call to
gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark
execution times with 95% confidence intervals in milliseconds.

                       BeforePatch                AfterPatch                                    

closure              0.73573+-0.02948    ?     0.73754+-0.02989       ?
jquery               6.68742+-0.05906    ?     6.81852+-0.07467       ? might be 1.0196x slower

<geometric>          2.20728+-0.04715    ?     2.23115+-0.04883       ? might be 1.0108x slower
```

---

Later in the day, I also tried a version which tokenizes "async" as a keyword, which also does not seem to do any better.

```
Benchmark report for Octane on EchoBeach (MacBookPro11,5).

VMs tested:
"BeforePatch" at /Users/caitp/git/WebKit/OldBuild/jsc
"AfterPatch" at /Users/caitp/git/WebKit/WebKitBuild/Release/jsc

Collected 100 samples per benchmark/VM, with 10 VM invocations per benchmark. Emitted a call to
gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark
execution times with 95% confidence intervals in milliseconds.

                       BeforePatch                AfterPatch                                    

closure              0.73735+-0.02782    ?     0.75599+-0.03035       ? might be 1.0253x slower
jquery               6.95187+-0.05463    ?     7.07144+-0.07175       ? might be 1.0172x slower

<geometric>          2.25410+-0.04529    ?     2.30019+-0.04900       ? might be 1.0204x slower
```

And another one with fewer VM runs,

```
Benchmark report for Octane on EchoBeach (MacBookPro11,5).

VMs tested:
"BeforePatch" at /Users/caitp/git/WebKit/OldBuild/jsc
"AfterPatch" at /Users/caitp/git/WebKit/WebKitBuild/Release/jsc

Collected 40 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to
gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark
execution times with 95% confidence intervals in milliseconds.

                       BeforePatch                AfterPatch                                    

closure              0.73733+-0.04519          0.73413+-0.04667       
jquery               6.86110+-0.07219    ?     6.87968+-0.06205       ?

<geometric>          2.23916+-0.07172          2.23714+-0.07551         might be 1.0009x faster
```

which does not really indicate any serious improvements.

One thing we could do in the short term is add a compile-time flag to the async/await stuff (since the runtime flag stuff is kind of not really configurable in a the browser anyway yet, there isn't much difference between them anyway).

I'll do more real profiling on monday to see what the biggest problems are

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160529/28d01077/attachment.html>


More information about the webkit-unassigned mailing list