X-Git-Url: http://git.webkit.org/?p=WebKit-https.git;a=blobdiff_plain;f=PerformanceTests%2FARES-6%2Fabout.html;h=265c681e722ce6916a3cc5d95720a1c2b22a2b17;hp=608b9b9846d53da51ee7750a179e41b02e5c26b2;hb=b606757032692b10c6e9f673c6d772fb2c03c200;hpb=403ced852710b16be0d04b404dba7ac55ef6ff2f;ds=sidebyside diff --git a/PerformanceTests/ARES-6/about.html b/PerformanceTests/ARES-6/about.html index 608b9b9..265c681 100644 --- a/PerformanceTests/ARES-6/about.html +++ b/PerformanceTests/ARES-6/about.html @@ -16,9 +16,9 @@
ARES-6 measures the execution time of JavaScript’s newest features, including symbols, for-of, arrow functions, Map/Set/WeakMap, let/const, classes, proxies, string interpolation, destructuring, default arguments, spread, tail calls, and generators.
+ARES-6 measures the execution time of JavaScript’s newest features, including symbols, for-of, arrow functions, Map/Set/WeakMap, let/const, classes, proxies, string interpolation, destructuring, default arguments, spread, tail calls, and generators. ARES-6 comprises two sub-tests: Air and Basic.
-Air is an ES2015 port of the WebKit B3 JIT’s Air::allocateStack
phase. This code is a heavy user of Map, Set, classes, spread, and for-of. The benchmark runs allocateStack
on hot function bodies from other popular JavaScript benchmarks: executeIteration
from Octane/Gameboy, gaussianBlur
from Kraken, and scanIdentifier
from Octane/Typescript. Because metacircularity, the benchmark also runs allocateStack
on the largest hot function in Air. Browse the source.
Air is an ES2015 port of the WebKit B3 JIT’s Air::allocateStack
phase. This code is a heavy user of Map, Set, classes, spread, and for-of. The benchmark runs allocateStack
on hot function bodies from other popular JavaScript benchmarks: executeIteration
from Octane/Gameboy, gaussianBlur
from Kraken, and scanIdentifier
from Octane/Typescript. Air also runs allocateStack
on a hot function from Air itself. Browse the source.
Basic is an ES2015 implementation of the ECMA-55 BASIC standard. BASIC was an interactive language from the start, so our implementation uses generator functions for the entire interpreter. When the BASIC program says INPUT
, our interpreter says yield
. This allows users of the interpreter to easily integrate it into a runloop. Basic also uses classes, Map, and WeakMap. The benchmark runs a handful of simple programs, the most complex of which finds prime numbers. Browse the source.
Each ARES-6 sample has 200 iterations of Air and 200 iterations of Basic. ARES-6 runs 10 samples, and reports the average with 95% confidence intervals. Each sample runs in a fresh iframe
to simulate some of the effects of page navigation.
We like making JavaScript run faster, but we didn’t have any ES2015 code to optimize. ARES-6 is a collection of sample ES2015 code written by the WebKit JavaScript team, which we used to bootstrap our ES2015 optimization efforts.
-