Added: trunk/PerformanceTests/JetStream2/in-depth.html (0 => 242373)
--- trunk/PerformanceTests/JetStream2/in-depth.html (rev 0)
+++ trunk/PerformanceTests/JetStream2/in-depth.html 2019-03-04 20:33:57 UTC (rev 242373)
@@ -0,0 +1,688 @@
+<html>
+<head>
+ <title>JetStream 2 — In Depth Analysis</title>
+ <link rel="stylesheet" href=""
+</head>
+<body>
+<main>
+ <a href=""
+ <h1> JetStream 2 </h1>
+ </a>
+
+ <h1>In Depth Analysis</h1>
+
+ <p>
+ JetStream 2 combines together a variety of _javascript_ and Web Assembly benchmarks, covering a variety of
+ advanced workloads and programming techniques, and reports a single score that
+ balances them using a geometric mean.
+ </p>
+
+ <p>
+ Each benchmark measures a distinct workload, and no single optimization
+ technique is sufficient to speed up all benchmarks. Some benchmarks demonstrate tradeoffs, and
+ aggressive or specialized optimizations for one benchmark might make another benchmark slower.
+ JetStream 2 rewards browsers that start up quickly, execute code quickly, and continue running smoothly.
+ </p>
+
+ <p>
+ Each benchmark in JetStream 2 computes its own individual score. JetStream 2 weighs each
+ benchmark equally, taking the geometric mean over each individual benchmark's score to compute
+ the overall JetStream 2 score.
+ </p>
+
+ <p>
+ It's not enough to just measure the total running time of a workload.
+ Browsers may perform differently for the same _javascript_ workload depending on how many times it
+ has run. For example, garbage collection runs periodically, making some iterations take longer than
+ others. Code that runs repeatedly gets optimized by the browser, so the first iteration
+ of any workload is usually more expensive than the rest.
+ </p>
+
+ <p>
+ For most of the _javascript_ benchmarks in JetStream 2, individual scores
+ equally weigh startup performance, worst case performance, and average case
+ performance. These three metrics are crucial to running performant _javascript_
+ in the browser. Fast startup times lead browsers to loading pages more quickly. Good
+ worst case performance ensures web applications can run without hiccups. Fast average
+ case performance makes it so that the most advanced web applications can run at all.
+ </p>
+
+ <p>
+ For JetStream 2's Web Assembly benchmarks, individual scores equally weigh startup time and
+ total execution time. An important component of JetStream 1 were the asm.js subset of benchmarks. With the release
+ of Web Assembly, the importance of asm.js has lessened since many users of asm.js are
+ now using Web Assembly. JetStream 2 has converted many of the asm.js benchmarks from
+ JetStream 1 into Web Assembly.
+ </p>
+
+ <p>
+ All but one of JetStream'2 _javascript_ benchmarks run for N iterations, where
+ N is usually 120. JetStream 2 reports the startup score as the time it takes to run the first iteration.
+ The worst case score is the average of the worst M iterations, excluding the first iteration.
+ M is always less than N, and is usually 4. The average case score is the average
+ of all but the first iteration. These three scores are weighed equally using the geometric
+ mean.
+ </p>
+
+ <p>
+ JetStream 2 also includes a _javascript_ benchmark named WSL. WSL is an implementation of a
+ GPU shading language written in _javascript_. WSL does not use the above mechanism for scoring
+ because it has a long running time. Instead, the WSL benchmark computes its score as the
+ geometric mean over two metrics: the time it takes to compile the WSL standard library, and the time
+ it takes to run through the WSL specification test suite.
+ </p>
+
+ <p>
+ JetStream 2 includes parts of these benchmark suites that came before it: <a href=""
+ <a href="" 2</a>, <a href="" 1</a>,
+ <a href="" and <a href="" Tooling Benchmark</a>.
+ JetStream 2 also includes new benchmarks inspired by <a href=""
+ JetStream 2 also includes a new set of benchmarks that measure the performance of Web Assembly, Web Workers,
+ Promises, async iteration, unicode regular expressions, and _javascript_ parsing.
+ </p>
+
+ <p>
+ Note that scores from JetStream 2 are not comparable to scores to other versions
+ of any JetStream benchmark.
+ </p>
+
+ <h3>
+ JetStream 2 has 64 subtests:
+ </h3>
+
+ <dl>
+
+ <a name="WSL">
+ <dt>WSL</dt>
+ <dd>
+ WSL is an implementation of a GPU shading language written in _javascript_.
+ WSL measures the time it takes to compile the WSL standard library and the time
+ it takes to run through the WSL specification test suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="UniPoker">
+ <dt>UniPoker</dt>
+ <dd>
+ UniPoker is a 5 card stud poker simulation using the Unicode playing card code points, U+1F0A1..U+1F0DE,
+ as the card representation in code. Scoring of hands is done with three regular expressions, one to check
+ for a flush, one to check for straights, and one to check for pairs, three of a kind, and four of a kind.
+ Source code: <a href=""
+ </dd>
+
+ <a name="uglify-js-wtb">
+ <dt>uglify-js-wtb</dt>
+ <dd>
+ <a href="" is a _javascript_ parser, minifier, compressor, and beautifier toolkit. It is commonly
+ used to minimize _javascript_ bundles.
+ This benchmark runs UglifyJS on test _javascript_ programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="typescript">
+ <dt>typescript</dt>
+ <dd>
+ Tests how quickly Microsoft's <a href="" compiler can
+ compile itself. More than anything else, this tests how quickly a _javascript_ runtime can optimize
+ a large pile of code.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="tsf-wasm">
+ <dt>tsf-wasm</dt>
+ <dd>
+ Runs Filip Pizlo's — of the WebKit team — implementation of a <a href="" Typed Stream Format </a>
+ in Web Assembly. The original code is compiled from C to Web Assembly using <a href=""
+ Source code: <a href=""
+ </dd>
+
+ <a name="tagcloud-SP">
+ <dt>tagcloud-SP</dt>
+ <dd>
+ Parses JSON and generates markup for a <a href=""
+ cloud</a> view of the data. Written by Maciej Stachowiak of the WebKit team. Exercises string
+ parsing and manipulation. A similar version of this benchmark was originally published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="string-unpack-code-SP">
+ <dt>string-unpack-code-SP</dt>
+ <dd>
+ This benchmark unpacks various minified _javascript_ libraries. It stresses the speed of various string manipulation
+ operations.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="stanford-crypto-sha256">
+ <dt>stanford-crypto-sha256</dt>
+ <dd>
+ Measures the performance of the <a href="" hashing algorithm as implemented by the <a href="" _javascript_ Crypto Library</a>. This benchmark stresses numeric analysis and array access.
+ This benchmark was inspired by a similar benchmark in the Kraken benchmark suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="stanford-crypto-pbkdf2">
+ <dt>stanford-crypto-pbkdf2</dt>
+ <dd>
+ Measures the performance of the <a href="" hashing algorithm as implemented by the <a href="" _javascript_ Crypto Library</a>. This benchmark stresses numeric analysis and array access.
+ This benchmark was inspired by a similar benchmark in the Kraken benchmark suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="stanford-crypto-aes">
+ <dt>stanford-crypto-aes</dt>
+ <dd>
+ Measures the performance of the <a href="" hashing algorithm as implemented by the <a href="" _javascript_ Crypto Library</a>. This benchmark stresses numeric analysis and array access.
+ This benchmark was inspired by a similar benchmark in the Kraken benchmark suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="splay">
+ <dt>splay</dt>
+ <dd>
+ Tests the manipulation of <a href="" trees</a>
+ represented using plain _javascript_ objects. This benchmark stresses the performance of the garbage collector.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="segmentation">
+ <dt>segmentation</dt>
+ <dd>
+ Uses Web Workers to parallelize the computation of a <a href=""
+ time series segmentation</a> algorithm over a sample data set. This code is adapted from an algorithm used in the <a href=""
+ WebKit performance dashboard.</a>
+ Source code: <a href=""
+ </dd>
+
+ <a name="richards">
+ <dt>richards</dt>
+ <dd>
+ Martin Richard's <a href="" language
+ benchmark</a> ported to _javascript_. Tests object property access performance.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="richards-wasm">
+ <dt>richards-wasm</dt>
+ <dd>
+ Martin Richard's <a href="" language
+ benchmark</a> compiled to a hybrid of Web Assembly and _javascript_. It stresses how quickly
+ _javascript_ can call into Web Assembly code.
+ Source code: <a href="" <a href=""
+ </dd>
+
+ <a name="regexp">
+ <dt>regexp</dt>
+ <dd>
+ Collection of regular expressions found by the V8 team in 2010, curated into a benchmark.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="regex-dna-SP">
+ <dt>regex-dna-SP</dt>
+ <dd>
+ Regular-_expression_-based solution to DNA manipulation from
+ <a href="" Great Computer Language Shootout</a>,
+ contributed by Jesse Millikan.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="raytrace">
+ <dt>raytrace</dt>
+ <dd>
+ <a href="" tracer</a> written in _javascript_ using prototype.js. Tests object construction performance
+ and floating point math.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="quicksort-wasm">
+ <dt>quicksort-wasm</dt>
+ <dd>
+ Quicksort benchmark, compiled to Web Assembly with <a href=""
+ The original C version of this benchmark was previously published in the LLVM test suite.
+ Source code: <a href="" <a href=""
+ </dd>
+
+ <a name="prepack-wtb">
+ <dt>prepack-wtb</dt>
+ <dd>
+ <a href="" is a tool that optimizes _javascript_ source code by performing computations at compile
+ time instead of run time where possible.
+ This benchmark runs Prepack on test _javascript_ programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="pdfjs">
+ <dt>pdfjs</dt>
+ <dd>
+ Mozilla's <a href="" reader written in _javascript_</a>.
+ This benchmark emphasizes array manipulation and bit operations.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="OfflineAssembler">
+ <dt>OfflineAssembler</dt>
+ <dd>
+ Offline Assembler is the lexer, parser, and AST layer of the offline assembler for <a href=""
+ It has been ported to _javascript_ from the original Ruby implementation. This test stresses regular _expression_
+ performance.
+ Source code: <a href=""
+ </dd>
+
+ <a name="octane-zlib">
+ <dt>octane-zlib</dt>
+ <dd>
+ A benchmark based on compiling <a href="" to _javascript_ using
+ <a href="" Based on the
+ <a href="" emscripten test</a>
+ but modified to restrict code caching opportunities.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="octane-code-load">
+ <dt>octane-code-load</dt>
+ <dd>
+ Test of code load speed of the jQuery and Closure libraries. Because this test allows
+ caching, this is representative of revisiting the same website.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="navier-stokes">
+ <dt>navier-stokes</dt>
+ <dd>
+ Fluid simulation written by <a href="" Hunt</a>. Emphasizes floating point array performance.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="n-body-SP">
+ <dt>n-body-SP</dt>
+ <dd>
+ Classic solar system simulation benchmark from
+ <a href="" Great Computer Language Shootout</a>,
+ contributed by Isaac Guy. Tests math and object access performance.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="multi-inspector-code-load">
+ <dt>multi-inspector-code-load</dt>
+ <dd>
+ Measures the repeated parsing of a modern _javascript_ code base: WebKit's Web Inspector.
+ Because this test allows caching, this is representative of revisiting the same website.
+ Source code: <a href=""
+ </dd>
+
+ <a name="ML">
+ <dt>ML</dt>
+ <dd>
+ ML is an implementation of a <a href="" feedforward neural network.</a>
+ The benchmark trains several networks using different <a href="" functions</a>
+ and several sample data sets. ML makes heavy use of classes. It relies on the ml-matrix library and does non-trivial matrix math.
+ This benchmark was previously published in ARES-6.
+ Source code: <a href=""
+ </dd>
+
+ <a name="mandreel">
+ <dt>mandreel</dt>
+ <dd>
+ Tests the <a href="" physics engine.
+ The physics engine is compiled to _javascript_ with <a href=""
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="lebab-wtb">
+ <dt>lebab-wtb</dt>
+ <dd>
+ <a href="" transpiles ES5 code into ES6/ES7.
+ This benchmark runs Lebab on test _javascript_ programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="json-stringify-inspector">
+ <dt>json-stringify-inspector</dt>
+ <dd>
+ Measures JSON.stringify performance on a set of objects that WebKit's Web Inspector
+ stringifies when communicating between the UI and web pages.
+ This benchmark was inspired by a similar benchmark in the Kraken benchmark suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="json-parse-inspector">
+ <dt>json-parse-inspector</dt>
+ <dd>
+ Measures JSON.parse performance on a set of objects that WebKit's Web Inspector
+ parses when communicating between the UI and web pages.
+ This benchmark was inspired by a similar benchmark in the Kraken benchmark suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="jshint-wtb">
+ <dt>jshint-wtb</dt>
+ <dd>
+ <a href="" is a static analysis tool that warns about errors
+ and potential problems in _javascript_ programs.
+ This benchmark runs JSHint on test _javascript_ programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="HashSet-wasm">
+ <dt>HashSet-wasm</dt>
+ <dd>
+ A Web Assembly benchmark replaying a set of hash table operations performed in WebKit when loading
+ a web page. This benchmark was compiled from C++ to Web Assembly using <a href=""
+ Source code: <a href="" <a href=""
+ </dd>
+
+ <a name="hash-map">
+ <dt>hash-map</dt>
+ <dd>
+ Apache Harmony java.util.HashMap implementation ported to _javascript_ and benchmarked by
+ doing hash table insertions, queries, and then iterating the associated entrySet. Tests
+ object-oriented _javascript_ idioms and object construction. A similar _javascript_ version
+ of this benchmark was originally published as part of the WebKit test suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="gcc-loops-wasm">
+ <dt>gcc-loops-wasm</dt>
+ <dd>
+ Example loops used to tune the GCC and LLVM vectorizers, compiled to Web Assembly with
+ <a href="" The original C++ version of this benchmark was previously published in the LLVM test suite.
+ Source code: <a href="" <a href=""
+ </dd>
+
+ <a name="gbemu">
+ <dt>gbemu</dt>
+ <dd>
+ Gameboy emulator written in _javascript_. Tests typed array and
+ property access performance.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href="" <a href=""
+ </dd>
+
+ <a name="gaussian-blur">
+ <dt>gaussian-blur</dt>
+ <dd>
+ Tests the performance of a _javascript_ implementation of <a href=""
+ blur</a> on a test image. Tests numeric analysis speed and uses typed arrays.
+ This benchmark was inspired by a similar benchmark in the Kraken benchmark suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="float-mm.c">
+ <dt>float-mm.c</dt>
+ <dd>
+ Floating point matrix multiply benchmark, compiled to _javascript_ with <a href=""
+ The original C version of this benchmark was previously published in the LLVM test suite.
+ Source code: <a href="" <a href=""
+ </dd>
+
+ <a name="FlightPlanner">
+ <dt>FlightPlanner</dt>
+ <dd>
+ Flight Planner is a benchmark taken from a flight management web application.
+ Flight Planner parses aircraft flight plans and computes distance, courses, and elapsed times for legs of flight plans.
+ It uses FAA data for airports, navigation aids, and airways. The flight management app was originally written to help
+ compete in a flying proficiency event. It stresses regular _expression_ performance.
+ Source code: <a href=""
+ </dd>
+
+ <a name="first-inspector-code-load">
+ <dt>first-inspector-code-load</dt>
+ <dd>
+ Measures the first-time parsing of a modern _javascript_ code base: WebKit's Web Inspector.
+ This models the parsing time of visiting a web site for the first time.
+ Source code: <a href=""
+ </dd>
+
+ <a name="espree-wtb">
+ <dt>espree-wtb</dt>
+ <dd>
+ <a href="" is a _javascript_ parser written in _javascript_.
+ This benchmark runs Espree on test _javascript_ programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="earley-boyer">
+ <dt>earley-boyer</dt>
+ <dd>
+ Tests two classic Scheme benchmarks translated to _javascript_ using scheme2js. The first
+ benchmark is Earley, is a chart parser algorithm created by Jay Earley. The second is
+ Boyer, a logic programming benchmark by Bob Boyer. Measures variadic functions and object
+ construction.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="delta-blue">
+ <dt>delta-blue</dt>
+ <dd>
+ The classic DeltaBlue benchmark derived from a Smalltalk implementation by Maloney and
+ Wolczko. Tests devirtualization of _javascript_ code that uses an idiomatic class hierarchy
+ construction.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="date-format-xparb-SP">
+ <dt>date-format-xparb-SP</dt>
+ <dd>
+ Sophisticated date formatting and parsing library test, based on code by Barin Schwartz.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="date-format-tofte-SP">
+ <dt>date-format-tofte-SP</dt>
+ <dd>
+ Date and time formatting test, based on code by Svend Tofte. Involves an interesting use
+ of <code>eval</code> and also covers string manipulation and _javascript_ library functions.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="crypto-sha1-SP">
+ <dt>crypto-sha1-SP</dt>
+ <dd>
+ <a href="" implementation in _javascript_ by
+ Paul Johnston and others. Tests interesting integer math idioms.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="crypto-md5-SP">
+ <dt>crypto-md5-SP</dt>
+ <dd>
+ <a href="" implementation in _javascript_ by
+ Paul Johnston and others. Tests interesting integer math idioms.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="crypto-aes-SP">
+ <dt>crypto-aes-SP</dt>
+ <dd>
+ <a href="" AES</a> implementation
+ in _javascript_ by Chris Veness. A newer version can be
+ found <a href="" Tests integer math.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="crypto">
+ <dt>crypto</dt>
+ <dd>
+ RSA cypher implemented in _javascript_ by Tom Wu. Tests integer math and arrays.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="coffeescript-wtb">
+ <dt>coffeescript-wtb</dt>
+ <dd>
+ <a href="" is a programming language that attempts to expose the
+ good parts of _javascript_ in a simple way.
+ This benchmark tests the CoffeeScript compiler on test programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="chai-wtb">
+ <dt>chai-wtb</dt>
+ <dd>
+ <a href="" is a <a href="" / TDD</a> assertion library for
+ node.js and the browser. It is commonly used to write unit and integration tests.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="cdjs">
+ <dt>cdjs</dt>
+ <dd>
+ _javascript_ implementation of the <a href="" collision detection
+ benchmark</a>. Measures the performance of over 200 collision detection runs.
+ Source code: <a href=""
+ </dd>
+
+ <a name="box2d">
+ <dt>box2d</dt>
+ <dd>
+ The Box2D physics engine <a href="" to _javascript_</a>. Tests floating
+ point math and data structures.
+ A similar version of this benchmark was previously published in Octane version 2.
+ Source code: <a href=""
+ </dd>
+
+ <a name="bomb-workers">
+ <dt>bomb-workers</dt>
+ <dd>
+ Tests running various subtests of the SunSpider benchmark in parallel using Web Workers.
+ Stresses the browser's ability to run _javascript_ code in parallel.
+ Source code: <a href=""
+ </dd>
+
+ <a name="Basic">
+ <dt>Basic</dt>
+ <dd>
+ Basic is an ES2015 implementation of the <a href="" BASIC standard</a>.
+ Basic stresses performance of generator functions, classes, Map, and WeakMap.
+ The benchmark runs a handful of simple programs, the most complex of which finds prime numbers.
+ This benchmark was previously published in ARES-6.
+ Source code: <a href=""
+ </dd>
+
+ <a name="base64-SP">
+ <dt>base64-SP</dt>
+ <dd>
+ Base64 encoder/decoder written in _javascript_, originally from the Mozilla XML-RPC client component.
+ Tests string manipulation.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="babylon-wtb">
+ <dt>babylon-wtb</dt>
+ <dd>
+ <a href="" is the frontend for the Babel transpiler.
+ It is a _javascript_ parser written in _javascript_. It computes the Abstract Syntax Tree of the input _javascript_ program.
+ This benchmark runs Babylon on test _javascript_ programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="Babylon">
+ <dt>Babylon</dt>
+ <dd>
+ <a href="" is an implementation of a parser for the _javascript_ language.
+ Babylon is the parser used in the <a href="" _javascript_ transpiler. The benchmark runs the
+ Babylon parser on four different _javascript_ sources. Babylon makes heavy use of classes, does non trivial string processing,
+ and creates non-trivial object graphs.
+ This benchmark was previously published in ARES-6.
+ Source code: <a href=""
+ </dd>
+
+ <a name="async-fs">
+ <dt>async-fs</dt>
+ <dd>
+ This is an implementation of a mock file system that stresses the performance of DataView, Promises, and async
+ iteration. The benchmark simulates adding and removing files, and swapping the byte order of existing files.
+ Source code: <a href=""
+ </dd>
+
+ <a name="Air">
+ <dt>Air</dt>
+ <dd>
+ Air is an ES2015 port of the <a href="" B3 JIT</a>'s <a href="" phase</a>.
+ 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. This benchmark was previously published in ARES-6.
+ Source code: <a href=""
+ </dd>
+
+ <a name="ai-astar">
+ <dt>ai-astar</dt>
+ <dd>
+ This benchmark runs a _javascript_ implementation of the <a href="" search algorithm
+ written by <a href="" Grinstead</a>.
+ This benchmark was inspired by a similar benchmark in the Kraken benchmark suite.
+ Source code: <a href=""
+ </dd>
+
+ <a name="acorn-wtb">
+ <dt>acorn-wtb</dt>
+ <dd>
+ <a href="" is a _javascript_ parser written in _javascript_.
+ This benchmark runs Acorn on test _javascript_ programs.
+ This benchmark stresses string manipulation and regular _expression_ performance.
+ A similar version of this benchmark was previously published in the Web Tooling Benchmark.
+ Source code: <a href=""
+ </dd>
+
+ <a name="3d-raytrace-SP">
+ <dt>3d-raytrace-SP</dt>
+ <dd>
+ Simple raytracer written by <a href="" Hunt</a>.
+ Tests arrays and floating-point math in relatively short-running code.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ <a name="3d-cube-SP">
+ <dt>3d-cube-SP</dt>
+ <dd>
+ 3D cube rotation benchmark by Simon Speich. The original can be found
+ on <a href=""
+ web page</a>. Tests arrays and floating-point math in relatively
+ short-running code.
+ A similar version of this benchmark was previously published in SunSpider.
+ Source code: <a href=""
+ </dd>
+
+ </dl>
+</main>
+</body>
+</html>
+