-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reorganize
shootout
benchmarks into a single directory (#260)
* Move all `shootout` benchmarks into a single directory Now that #251 and #256 make it possible for more than one benchmark to live in a single directory, this change moves all of the shootout artifacts into a single directory. This simply performs the file movement; subsequent commits will make necessary tweaks. * Rename shootout benchmarks in `*.suite` files * Enable native benchmarking in new `shootout` directory This change refactors how the shootout native benchmarks are built. The `Dockerfile.native` file is retained and is expected to be _the_ way to build the native shared libraries for this kind of benchmarking. A `build-native.sh` script is included in the directory to (a) be used by `Dockerfile.native` and (b) for building the native benchmarks in environments where running Docker may not be possible. Now that all of the benchmarks are built in one directory, the native libraries cannot all be named `benchmark.so`. Because of this and the hard-coded path expected by the native engine (see #259), this change also modifies the associated `*-native.sh` scripts to set up a temporary directory that looks like the `benchmark.so` environment that was there previously. This additional logic could be removed once #259 is fixed. * Remove the original `shootout-*` directories These are all migrated over to be a part of the single `shootout` directory. * Update verbiage in native GitHub action * Update `ackermann` to use new `*.input` paths The new file structure for `shootout` now expects these paths to look like `shootout-ackermann.*.input`. * Fix `heapsort` allocation When we allocate the array to sort, we should do so with items of size `double` (64 bits) instead of `double*` (32 bits in WebAssembly). I am very confused as to why this benchmark worked previously, but when I recompiled it prior to this change, it would invariably fail due to accessing addresses beyond the memory bounds. * Recompile `shootout` benchmarks with wasi-sdk v20 * Tweak native scripts This change fixes some issues highlighted by CI: - it adds more verbose output to see which commands are executed - it improves the documentation to clarify how to use certain flags - it fixes slight mistakes in the scripts missed by previous refactoring - and, __most especially__, it alters the order of the parameters passed to compile the native libraries. This last change is indicative of the fragility of the native benchmarks: apparently moving `-lengine` to the end was necessary for the linker to understand which library provides `bench_start` and `bench_end`. * Update documentation Now that `Dockerfile.native` relies on a script, `build-native.sh`, instead of the Cargo build system, the documentation for building native libraries has to change.
- Loading branch information
Showing
251 changed files
with
236 additions
and
6,147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
*/benchmark.so | ||
*/*.so | ||
*/target |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Binary file not shown.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.