https://github.com/higherorderco/hvm-compare-perf
Compare `hvm-core`'s historical performance
https://github.com/higherorderco/hvm-compare-perf
Last synced: 5 months ago
JSON representation
Compare `hvm-core`'s historical performance
- Host: GitHub
- URL: https://github.com/higherorderco/hvm-compare-perf
- Owner: HigherOrderCO
- Created: 2024-03-19T20:48:00.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-01T18:25:17.000Z (about 2 years ago)
- Last Synced: 2025-01-31T05:47:28.170Z (over 1 year ago)
- Language: Rust
- Size: 56.6 KB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hvm-compare-perf
Compare benchmarks of `hvm-core` versions.
### How it works.
The directory `.bench-dir` includes a modified clone of the `hvm-core` repo. The `hvm-compare-perf` programs checks out different commits, which must be listed in `commits.cfg`, and times all programs in each commit.
Important hashes
- Modern: `09a3791cd8194fef28be95305835d4851eb0a854`
- Post ptr-refactor: `9bdbdcbe0816345545a3adf00704f9f4f01dcfe7`
- Pre ptr-refactor: `c610b490fb071b7c9891b674bf399addaff3a580`
- Before dup-ref: `1a1e56327479a2681b1cbee2e0fc121b4c19cc14`
- Before compiler: `fb5a2a98d4ec19e4b4a4898a8124fa4a76f87ee1`
Unfortunately, the different versions of hvm-core are incompatible. For example, they might use different amounts of RAM on startup, or they might use different syntaxes for binary AND and OR. To patch this, I made temporary detached commits in the clone of the repo which make the different versions more compatible. This is why the hashes in `commits.cfg` are not actually the "important hashes", but rather childless commits which have those commits as their parent.
To do that, simply `git checkout` in `.bench-dir` to the commit you're testing, do your modifications, then `git add` and `git commit`. Copy the new hash and edit `commits.cfg` to put it in place of the original commit.