Core Language Features
Richards
...
- OS kernel simulation benchmark, originally written in BCPL by Martin Richards (539 lines).
- property load/store, function/method calls
- code optimization, elimination of redundant code
Deltablue
...
- One-way constraint solver, originally written in Smalltalk by John Maloney and Mario Wolczko (880 lines).
- polymorphism
- OO-style programming
Raytrace
...
- Ray tracer benchmark based on code by Adam Burmister (904 lines).
- argument object, apply
- prototype library object, creation patter
Bit Operations
Memory and Garbage Collection
EarleyBoyer
...
- Classic Scheme benchmarks, translated to JavaScript by Florian Loitsch's Scheme2Js compiler (4684 lines).
- fast object creation, destruction
- closures, arguments object
Splay
...
- Data manipulation benchmark that deals with splay trees and exercises the automatic memory management subsystem (394 lines)
- fast object creation, destruction
SplayLatency
...
- The Splay test stresses the Garbage Collection subsystem of a VM. SplayLatency instruments the existing Splay code with frequent measurement checkpoints. A long pause between checkpoints is an indication of high latency in the GC. This test measures the frequency of latency pauses, classifies them into buckets and penalizes frequent long pauses with a low score.
- garbage Collection latency
Strings and Arrays
RegExp
...
- Regular expression benchmark generated by extracting regular expression operations from 50 of the most popular web pages (1761 lines).
- Regular Expressions
pdf.js
...
- Mozilla's PDF Reader, implemented in JavaScript. It measures decoding and interpretation time (33,056 lines).
- array and typed arrays manipulations
- math and bit operations, support for future language features (e.g. promises)
Virtual Machine
Mandreel
...
- Runs the 3D Bullet Physics Engine, ported from C++ to JavaScript via Mandreel (277,377 lines)
- emulation
GameBoy Emulator
...
- Emulates the portable console's architecture and runs a demanding 3D simulation, all in JavaScript (11,097 lines).
- emulation
Typescript
...
- Microsoft's TypeScript, compiler is a complex application. This test measures the time TypeScript takes to compile itself and is a proxy of how well a VM handles complex and sizable Javascript applications (25,918 lines).
- run complex, heavy applications
Compiler
MandreelLatency
...
- Similar to the SplayLatency test, this test instruments the Mandreel benchmark with frequent time measurement checkpoints. Since Mandreel stresses the VM's compiler, this test provides an indication of the latency introduced by the compiler. ong pauses between measurement checkpoints lower the final score.
- compiler latency
zlib
...
- The zlib asm.js/Emscripten test from the Mozilla Emscripten suite, running with workload 1. The code is enclosed in eval(), that guarantees that the running time we measure includes parsing and compilation on all browsers (2,585 lines).
- code compilation and execution