mirror of
https://github.com/logos-blockchain/research.git
synced 2026-08-07 11:43:20 +00:00
36 lines
1.1 KiB
TOML
36 lines
1.1 KiB
TOML
# Compare C-runner performance across compiler/optimization flags.
|
|
# First build the variants: ./scripts/build_variants.sh
|
|
# Impls that were not built (e.g. a missing compiler) are skipped with a warning.
|
|
[run]
|
|
# Flag differences are small and JIT-dominated, so use a generous rep count to
|
|
# keep the per-variant median stable enough to rank them meaningfully.
|
|
warmup = 5
|
|
repetitions = 30
|
|
impls = [
|
|
"equix-c-gcc-o0",
|
|
"equix-c-gcc-o2",
|
|
"equix-c-gcc-o3",
|
|
"equix-c-gcc-o3-native",
|
|
"equix-c-gcc-o3-lto",
|
|
"equix-c-clang-o3",
|
|
"equix-c-clang-o3-native",
|
|
]
|
|
|
|
# Solve dominates PoW cost; compare interpreter and JIT across flag sets.
|
|
[[jobs]]
|
|
operation = "solve"
|
|
runtimes = ["interpret", "try-compile"]
|
|
challenges = ["deadbeef", "0102030405060708"]
|
|
|
|
# Program generation + JIT compile cost can also shift with flags.
|
|
[[jobs]]
|
|
operation = "hashx_compile"
|
|
runtimes = ["must-compile"]
|
|
challenges = ["deadbeef"]
|
|
|
|
# All variants compute identical solutions -> the interop check still holds.
|
|
[crosscheck]
|
|
enabled = true
|
|
challenges = ["deadbeef"]
|
|
pairs = [["equix-c-gcc-o3", "equix-c-clang-o3"]]
|