diff --git a/in-depth.html b/in-depth.html index feeeb58a..23b83bff 100644 --- a/in-depth.html +++ b/in-depth.html @@ -27,14 +27,11 @@ - JetStream 3 In-Depth Analysis - - - +

JetStream 3 @@ -142,9 +139,9 @@

- The greyed-out workloads are not run by - default but can be manually enabled on the command-line or via - the testList URL parameter. + The greyed-out workloads are not run by default but can be manually enabled on the command-line or via + the ?test= URL parameter. + You can also click on the workload name to run that one individually, or on tags to run all workloads with a certain tag.

@@ -243,9 +240,9 @@

href="https://v8.github.io/web-tooling-benchmark/">Web Tooling Benchmark,. Source code: babylon.mjs -
babylonjs-scene-es5
+
babylonjs-scene-es5
babylonjs-scene-es6
-
babylonjs-startup-es5
+
babylonjs-startup-es5
babylonjs-startup-es6
These benchmarks test the Babylon.js 3D engine. @@ -265,14 +262,14 @@

This benchmark was previously published in ARES-6. Source code: Basic

-
bigint-bigdenary
+
bigint-bigdenary
BigDenary, an arbitrary-precision decimal arithmetic, implemented in JavaScript by U-Zyn Chua. Tests arithmetic operations on BigInt. Source code: bigdenary-bundle.js
-
bigint-noble-bls12-381
+
bigint-noble-bls12-381
BLS12-381, pairing-friendly Barreto-Lynn-Scott elliptic curve construction, @@ -288,7 +285,7 @@

by Paul Miller. Tests typed arrays and arithmetic operations on BigInt. Source code: noble-ed25519-bundle.js

-
bigint-noble-secp256k1
+
bigint-noble-secp256k1
secp256k1, an elliptic curve that could be used for asymmetric encryption, ECDH key agreement protocol and signature schemes, @@ -296,7 +293,7 @@

by Paul Miller. Tests typed arrays and arithmetic operations on BigInt. Source code: noble-secp256k1-bundle.js

-
bigint-paillier
+
bigint-paillier
Paillier cryptosystem, a probabilistic asymmetric algorithm for public key cryptography, @@ -341,7 +338,7 @@

A similar version of this benchmark was previously published in Octane version 2. Source code: crypto.js

-
Dart-flute-complex-wasm
+
Dart-flute-complex-wasm
Dart-flute-todomvc-wasm
Two Dart benchmark programs compiled to WasmGC that are using a simplified version of the Flutter UI @@ -457,7 +454,7 @@

Source code: gbemu-part1.js, gbemu-part2.js

-
gcc-loops-wasm
+
gcc-loops-wasm
Example loops used to tune the GCC and LLVM vectorizers, compiled to WebAssembly with Emscripten. The original C++ version of this benchmark was @@ -473,7 +470,7 @@

of this benchmark was originally published as part of the WebKit test suite. Source code: hash-map.js

-
HashSet-wasm
+
HashSet-wasm
A WebAssembly benchmark replaying a set of hash table operations performed in WebKit when loading a web page. This benchmark was compiled from C++ to WebAssembly using Source code: HashSet.cpp, HashSet.js
-
intl
+
intl
This benchmark tests the performance of the Intl @@ -545,7 +542,7 @@

generators. Source code: lazy-collections.js

-
lebab-wtb
+
lebab-wtb
Lebab transpiles ES5 code into ES6/ES7. This benchmark runs Lebab on test JavaScript programs. @@ -657,7 +654,7 @@

Tests get / set Proxy traps, as well as various Array methods. Source code: vue-benchmark.js

-
quicksort-wasm
+
quicksort-wasm
Quicksort benchmark, compiled to WebAssembly with Emscripten. The original C version of this benchmark was previously published in the LLVM test suite. @@ -884,8 +881,8 @@

order of existing files. Source code: sync-file-system.js

-
tfjs-wasm
-
tfjs-wasm-simd
+
tfjs-wasm
+
tfjs-wasm-simd
Tests Tensorflow.js pre-trained machine learning models supported by Source code: in the threejs/ directory.
transformersjs-bert-wasm
-
transformersjs-whisper-wasm
+
transformersjs-whisper-wasm
Two machine learning tasks using the Transformers.js library, which @@ -987,8 +984,45 @@

← Return to Tests

- - - \ No newline at end of file + + + + + + diff --git a/index.html b/index.html index 06741d2c..2647ad49 100644 --- a/index.html +++ b/index.html @@ -97,7 +97,7 @@

-

JetStream 3 is a JavaScript and WebAssembly benchmark suite focused on the most advanced web applications. It rewards browsers that start up quickly, execute code quickly, and run smoothly. For more information, read the in-depth analysis. Bigger scores are better.

+

JetStream 3 is a JavaScript and WebAssembly benchmark suite focused on the most advanced web applications. It rewards browsers that start up quickly, execute code quickly, and run smoothly. For more information, read the in-depth analysis. Bigger scores are better.

Non-standard Parameters

diff --git a/resources/JetStream.css b/resources/JetStream.css index 00df2ca8..e8d2282c 100644 --- a/resources/JetStream.css +++ b/resources/JetStream.css @@ -265,24 +265,67 @@ h6 { color: var(--text-color-tertiary); } +.in-depth h2, +.in-depth h3, +.in-depth dl { + margin: 0; +} + +dl > dt:first-child { + margin-top: 0; +} + dt { - margin-top: 10px; + margin-top: 0.5rem; font-weight: bold; text-align: left; color: var(--text-color-secondary); + line-height: 2rem; + display: flex; + align-items: center; + flex-wrap: wrap; +} + +dt > a.workload-link { + color: inherit; + text-decoration: none; +} + +dt > a.workload-link:hover { + color: var(--color-primary); +} + +.tag-link { + display: inline-block; + background-color: var(--color-secondary); + color: var(--text-color-secondary) !important; + padding: 0px 4px; + margin-left: 6px; + border-radius: 3px; + font-size: 1.2rem; + line-height: 1.8rem; + font-weight: normal; + text-decoration: none; +} +.tag-link::before { + content: "#"; +} + +.tag-link:hover { + background-color: var(--color-primary); } dt.non-default { color: var(--text-color-very-subtle); } -dt.non-default:after { +dt.non-default > *:first-child:after { content: " (not run by default)"; } dd { text-align: left; - padding: 10px 20px; + padding: 0.5rem 0rem 1.5rem 2rem; margin: 0; color: var(--text-color-secondary); } diff --git a/tests/run-browser.mjs b/tests/run-browser.mjs index 62317c26..4f6a4a6f 100644 --- a/tests/run-browser.mjs +++ b/tests/run-browser.mjs @@ -294,14 +294,6 @@ async function inDepthPageTest(driver) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); - const nonDefaultIds = benchmarkNames.filter(name => !benchmarkData.get(name).includes("default")); - for (const id of nonDefaultIds) { - const description = descriptions.get(id); - if (description && description.cssClass !== "non-default") { - sectionErrors.push(`Expected non-default benchmark '${id}' to have CSS class 'non-default' but got '${description.cssClass}'`); - } - } - const missingIds = benchmarkNames.filter(name => !descriptions.has(name)); if (missingIds.length > 0) { sectionErrors.push(`Missing in-depth.html info section: ${JSON.stringify(missingIds, undefined, 2)}`);