sightglass icon indicating copy to clipboard operation
sightglass copied to clipboard

Native benchmarks rely on hard-coded path

Open abrown opened this issue 2 years ago • 1 comments

When running a native benchmark that is not named benchmark.so, the native engine will fail due to this hard-coded address:

https://github.com/bytecodealliance/sightglass/blob/04546548e60dcce4b6691f8ddb75442c4d251ad9/engines/native/libengine/src/lib.rs#L285

Previously this was just a paper cut, only affecting in-development benchmarks (one would expect the native engine to open your-benchmark-path.so but it would not) but now that multiple benchmarks can live in a single directory, the path given to the sightglass-cli benchmark command should be the one communicated to the native engine. (Some thoughts: (a) add a new field to the WasmBenchConfig passed in to the native engine in wasm_bench_create, (b) hack the wasm_bytes passed to wasm_bench_compile to contain something like NATIVE_PATH###/path/passed/to/sightglass.so instead of the bytes of the shared library, which are useless.)

abrown avatar Jul 05 '23 23:07 abrown

@abrown 😢. The renaming definitely exposes this. It was coded to be the same basename as the wasm file (benchmark.wasm) and be minimally invasive into some of the other logic, but now we need to go ahead and propagate the name of the so. A proper change.

jlb6740 avatar Jul 11 '23 19:07 jlb6740