bytecodealliance / sightglass

A benchmark suite and tool to compare different implementations of the same primitives.
Apache License 2.0
70 stars 33 forks source link

Build benchmarks into `/benchmark` directory #251

Closed abrown closed 1 year ago

abrown commented 1 year ago

All benchmarks are currently built by a Dockerfile located in the benchmark directory that emits a single benchmark.wasm file. This leads to some weirdness, like all of the shootout sub-benchmarks living in separate folders, duplicating a lot of the infrastructure files. This same issue will affect other multi-file benchmarks, like libsodium, which I have queued up to submit if this change is merged.

What this change does is modify where the build.sh script expects the benchmark artifacts to be placed. Whereas previously the Dockerfile had to place a single file at /benchmark.wasm, we now can place multiple files in a /benchmark directory. All of these files will be extracted by build.sh into the benchmark directory.

This commit attempts to change nothing else: only the "where to place the files" bit. But that apparently requires modifications to several Dockerfiles with ensuing changes to the emitted WebAssembly. The binary changes should not be due to any change in logic.