• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2024 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5from __future__ import annotations
6
7from typing import Tuple
8
9from crossbench.benchmarks.jetstream.jetstream_3 import (JetStream3Benchmark,
10                                                         JetStream3Probe,
11                                                         JetStream3Story,
12                                                         ProbeClsTupleT)
13
14
15class JetStream30Probe(JetStream3Probe):
16  __doc__ = JetStream3Probe.__doc__
17  NAME: str = "jetstream_3.0"
18
19
20class JetStream30Story(JetStream3Story):
21  __doc__ = JetStream3Story.__doc__
22  NAME: str = "jetstream_3.0"
23  URL: str = "https://chromium-workloads.web.app/jetstream/v3.0/"
24  URL_OFFICIAL: str = "https://browserbench.org/JetStream3.0/"
25  SUBSTORIES: Tuple[str, ...] = (
26      "WSL",
27      "UniPoker",
28      "uglify-js-wtb",
29      "typescript",
30      "tsf-wasm",
31      "tfjs-wasm-simd",
32      "tfjs-wasm",
33      "tagcloud-SP",
34      "sync-fs",
35      "string-unpack-code-SP",
36      "stanford-crypto-sha256",
37      "stanford-crypto-pbkdf2",
38      "stanford-crypto-aes",
39      "splay",
40      "segmentation",
41      "richards-wasm",
42      "richards",
43      "regexp",
44      "regex-dna-SP",
45      "raytrace-public-class-fields",
46      "raytrace-private-class-fields",
47      "raytrace",
48      "quicksort-wasm",
49      "proxy-vue",
50      "proxy-mobx",
51      "prepack-wtb",
52      "pdfjs",
53      "OfflineAssembler",
54      "octane-zlib",
55      "octane-code-load",
56      "navier-stokes",
57      "n-body-SP",
58      "multi-inspector-code-load",
59      "ML",
60      "mandreel",
61      "lebab-wtb",
62      "lazy-collections",
63      "json-stringify-inspector",
64      "json-parse-inspector",
65      "jshint-wtb",
66      "js-tokens",
67      "HashSet-wasm",
68      "hash-map",
69      "gcc-loops-wasm",
70      "gbemu",
71      "gaussian-blur",
72      "float-mm.c",
73      "FlightPlanner",
74      "first-inspector-code-load",
75      "espree-wtb",
76      "earley-boyer",
77      "doxbee-promise",
78      "doxbee-async",
79      "delta-blue",
80      "date-format-xparb-SP",
81      "date-format-tofte-SP",
82      "crypto-sha1-SP",
83      "crypto-md5-SP",
84      "crypto-aes-SP",
85      "crypto",
86      "coffeescript-wtb",
87      "chai-wtb",
88      "cdjs",
89      "Box2D",
90      "bomb-workers",
91      "bigint-paillier",
92      "bigint-noble-secp256k1",
93      "bigint-noble-ed25519",
94      "bigint-noble-bls12-381",
95      "bigint-bigdenary",
96      "Basic",
97      "base64-SP",
98      "babylon-wtb",
99      "Babylon",
100      "async-fs",
101      "argon2-wasm-simd",
102      "argon2-wasm",
103      "Air",
104      "ai-astar",
105      "acorn-wtb",
106      "8bitbench-wasm",
107      "3d-raytrace-SP",
108      "3d-cube-SP",
109  )
110
111
112class JetStream30Benchmark(JetStream3Benchmark):
113  """
114  Benchmark runner for JetStream 3.0.
115  """
116
117  NAME: str = "jetstream_3.0"
118  DEFAULT_STORY_CLS = JetStream30Story
119  PROBES: ProbeClsTupleT = (JetStream30Probe,)
120
121  @classmethod
122  def version(cls) -> Tuple[int, ...]:
123    return (3, 0)
124
125  @classmethod
126  def aliases(cls) -> Tuple[str, ...]:
127    return ("js3", "jetstream_3") + super().aliases()
128