asterius
asterius copied to clipboard
[WIP] Add nofib testing
Closes https://github.com/tweag/asterius/issues/639.
Set up the nofib directory:
- [X] Gather nofib main programs and their arguments from the upstream nofib repo.
- [X] Flatten the structure (only two levels) and fix/remove symlinks.
- [x] Remove tests that don't apply to asterius yet and other redundant files.
- [x] Replace local
Makefile
s with explicitFAST_OPTS
,NORM_OPTS
andSLOW_OPTS
input files.
After that move on to CI-related tasks:
- [ ] Set up the native/asterius comparison and set it up as a standalone CI job.
- [ ] Generate V8 CPU/heap profiler report and serve them as CI artifacts, so we can examine the bottlenecks visually.
Additional notes:
- We'll likely need to evaluate the influence of different link-time options (e.g. enabling tail calls, yolo mode, different gc thresholds), since they can have a significant impact on the overall clock time. Also, certain
node
V8 command-line options (usenode --v8-options
to get a complete list; will discuss which options to test later) - For getting a flame graph from V8 profiling reports, I tried a few tools and
0x
seems to be pleasant to use. Use the--verbose-err
link-time option to ensure wasm function names are visible in the output flame graph.