Skip to content

Commit 62ef6bb

Browse files
committed
Add source of truth for individual benchmarks
1 parent 32ef712 commit 62ef6bb

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

benchmarks.py

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
from dataclasses import dataclass
2+
from typing import Any
3+
4+
import artefacts
5+
6+
7+
@dataclass(frozen=True)
8+
class Benchmark:
9+
name: str
10+
extra_args: Any = None
11+
12+
def __repr__(self):
13+
return self.name
14+
15+
def __hash__(self) -> int:
16+
return hash(self.name)
17+
18+
def __lt__(self, other):
19+
return self.name < other.name
20+
21+
22+
ALACRITTY = [
23+
Benchmark("cursor_motion"),
24+
Benchmark("dense_cells"),
25+
Benchmark("light_cells"),
26+
Benchmark("scrolling"),
27+
Benchmark("scrolling_bottom_region"),
28+
Benchmark("scrolling_bottom_small_region"),
29+
Benchmark("scrolling_fullscreen"),
30+
Benchmark("scrolling_top_region"),
31+
Benchmark("scrolling_top_small_region"),
32+
Benchmark("unicode"),
33+
]
34+
35+
FD = [
36+
Benchmark(
37+
name="no-pattern", extra_args=f"--hidden --no-ignore '' '{artefacts.LINUX.src}'"
38+
),
39+
Benchmark(
40+
name="simple-pattern", extra_args=f"'.*[0-9]\\.jpg$' '{artefacts.LINUX.src}'"
41+
),
42+
Benchmark(
43+
name="simple-pattern-HI",
44+
extra_args=f"-HI '.*[0-9]\\.jpg$' '{artefacts.LINUX.src}'",
45+
),
46+
Benchmark(
47+
name="file-extension", extra_args=f"-HI --extension jpg '{artefacts.LINUX.src}'"
48+
),
49+
Benchmark(name="file-type", extra_args=f"-HI --type l '{artefacts.LINUX.src}'"),
50+
Benchmark(
51+
name="command-execution", extra_args=f"'ab' '{artefacts.LINUX.src}' --exec echo"
52+
),
53+
Benchmark(
54+
name="command-execution-large-output",
55+
extra_args=f"-tf 'ab' '{artefacts.LINUX.src}' --exec echo",
56+
),
57+
]
58+
59+
SOM = (
60+
Benchmark("Richards", 1),
61+
Benchmark("DeltaBlue", 400),
62+
Benchmark("NBody", 1000),
63+
Benchmark("JsonSmall", 7),
64+
Benchmark("GraphSearch", 7),
65+
Benchmark("PageRank", 50),
66+
Benchmark("Fannkuch", 7),
67+
Benchmark("Fibonacci", "10"),
68+
Benchmark("Dispatch", 10),
69+
Benchmark("Bounce", "10"),
70+
Benchmark("Loop", 10),
71+
Benchmark("Permute", "10"),
72+
Benchmark("Queens", "10"),
73+
Benchmark("List", "5"),
74+
Benchmark("Recurse", "10"),
75+
Benchmark("Storage", 10),
76+
Benchmark("Sieve", 10),
77+
Benchmark("BubbleSort", "10"),
78+
Benchmark("QuickSort", 20),
79+
Benchmark("Sum", 10),
80+
Benchmark("Towers", "3"),
81+
Benchmark("TreeSort", "3"),
82+
Benchmark("IntegerLoop", 5),
83+
Benchmark("FieldLoop", 5),
84+
Benchmark("WhileLoop", 20),
85+
Benchmark("Mandelbrot", 50),
86+
)
87+
88+
ALACRITTY_ARGS = f"""-e bash -c \"[ ! -f {artefacts.VTE_BENCH.src / 'benchmarks' / '%(benchmark)s' / 'setup'} ] || {artefacts.VTE_BENCH.src / 'benchmarks' / '%(benchmark)s' / 'setup'} && {artefacts.VTE_BENCH.src / 'benchmarks' / '%(benchmark)s' / 'benchmark'}\""""
89+
90+
FD_ARGS = ""
91+
92+
93+
SOMRS_ARGS = f"""-c {artefacts.SOMRS_AST.src}/core-lib/Smalltalk {artefacts.SOMRS_AST.src}/core-lib/Examples/Benchmarks {artefacts.SOMRS_AST.src}/core-lib/Examples/Benchmarks/Richards {artefacts.SOMRS_AST.src}/core-lib/Examples/Benchmarks/DeltaBlue {artefacts.SOMRS_AST.src}/core-lib/Examples/Benchmarks/NBody {artefacts.SOMRS_AST.src}/core-lib/Examples/Benchmarks/Json {artefacts.SOMRS_AST.src}/core-lib/Examples/Benchmarks/GraphSearch {artefacts.SOMRS_AST.src}/core-lib/Examples/Benchmarks/LanguageFeatures -- BenchmarkHarness %(benchmark)s %(iterations)s"""
94+
95+
YKSOM_ARGS = f"""--cp {artefacts.YKSOM.src}/SOM/Smalltalk:{artefacts.YKSOM.src}/SOM/Examples/Benchmarks/Richards:{artefacts.YKSOM.src}/SOM/Examples/Benchmarks/DeltaBlue:{artefacts.YKSOM.src}/SOM/Examples/Benchmarks/NBody:{artefacts.YKSOM.src}/SOM/Examples/Benchmarks/Json:{artefacts.YKSOM.src}/SOM/Examples/Benchmarks/GraphSearch:{artefacts.YKSOM.src}/SOM/Examples/Benchmarks/LanguageFeatures {artefacts.YKSOM.src}/SOM/Examples/Benchmarks/BenchmarkHarness.som %(benchmark)s %(iterations)s"""

0 commit comments

Comments
 (0)