This repository was archived by the owner on Nov 24, 2022. It is now read-only.
This repository was archived by the owner on Nov 24, 2022. It is now read-only.
Add nofib performance testing #639
Open
Description
Is your feature request related to a problem? Please describe.
We don't have quantitative comparison of generated code performance against native or ghcjs. A good starting point would be using nofib
, since most nofib
programs are self-contained and can be compiled with ghc boot libs.
Gathering performance characteristics of nofib
opens new chances for generating smaller and faster code (and improving the runtime). We need to answer the following questions:
- How do we compare to native/ghcjs in terms of code size and performance?
- What are the bottlenecks in the wasm code or runtime?
- For a PR that impacts generated code or the runtime, does it make things better or worse? (And by what percentage?)
Describe the solution you'd like
- Collect
nofib
main programs and their arguments from the upstreamnofib
repo. Upstream usesMakefile
s to specify different inputs of programs for fast/normal/slow paths; we should parse those data fromMakefile
s. - Finish native/asterius comparison first; set this up as a standalone CI job, similar to
ghc-testsuite
. - Generate V8 CPU/heap profiler report and serve them as CI artifacts, so we can examine the bottlenecks visually.