Add Makefile to hyperfine benchmarks #2533
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a target for our Makefile to run benchmarks using hyperfine.
We run different commands which can be easily modified in bench/hyperfine/Makefile.
After running this on your terminal, checkout the generated file bench/hyperfine/README.md for the results.
The results below are the runs using the following module.
(For now, I got the following on my machine (ran in about 5min or less)
Darwin Jonathans-MacBook-Pro-2.local 22.6.0 Darwin Kernel Version 22.6.0: Fri Sep 15 13:41:28 PDT 2023; root:xnu-8796.141.3.700.8~1/RELEASE_ARM64_T6020 arm64 arm)
Hyperfine Benchmarks
dev parse
juvix-v0.4.3 dev parse fibo.juvix
juvix-v0.5.0 dev parse fibo.juvix
juvix-v0.5.1 dev parse fibo.juvix
juvix-v0.5.2 dev parse fibo.juvix
juvix-v0.5.3 dev parse fibo.juvix
juvix-v0.5.4 dev parse fibo.juvix
juvix dev parse fibo.juvix
dev highlight
juvix-v0.4.3 dev highlight fibo.juvix
juvix-v0.5.0 dev highlight fibo.juvix
juvix-v0.5.1 dev highlight fibo.juvix
juvix-v0.5.2 dev highlight fibo.juvix
juvix-v0.5.3 dev highlight fibo.juvix
juvix-v0.5.4 dev highlight fibo.juvix
juvix dev highlight fibo.juvix
typecheck
juvix-v0.4.3 typecheck fibo.juvix
juvix-v0.5.0 typecheck fibo.juvix
juvix-v0.5.1 typecheck fibo.juvix
juvix-v0.5.2 typecheck fibo.juvix
juvix-v0.5.3 typecheck fibo.juvix
juvix-v0.5.4 typecheck fibo.juvix
juvix typecheck fibo.juvix
compile -o /dev/null
juvix-v0.4.3 compile -o /dev/null fibo.juvix
juvix-v0.5.0 compile -o /dev/null fibo.juvix
juvix-v0.5.1 compile -o /dev/null fibo.juvix
juvix-v0.5.2 compile -o /dev/null fibo.juvix
juvix-v0.5.3 compile -o /dev/null fibo.juvix
juvix-v0.5.4 compile -o /dev/null fibo.juvix
juvix compile -o /dev/null fibo.juvix
eval
juvix-v0.4.3 eval fibo.juvix
juvix-v0.5.0 eval fibo.juvix
juvix-v0.5.1 eval fibo.juvix
juvix-v0.5.2 eval fibo.juvix
juvix-v0.5.3 eval fibo.juvix
juvix-v0.5.4 eval fibo.juvix
juvix eval fibo.juvix