-
Notifications
You must be signed in to change notification settings - Fork 49
Speedup tests #1421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Speedup tests #1421
Conversation
Benchmark results Main vs HEAD.Base
Head
Base
Head
Base
Head
Base
Head
Base
Head
Base
Head
Base
Head
|
Benchmarking resultsBenchmark for program
|
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
11.173 ± 0.046 | 11.098 | 11.237 | 4.43 ± 0.06 |
cairo-native (embedded AOT) |
2.523 ± 0.033 | 2.469 | 2.583 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
2.611 ± 0.015 | 2.588 | 2.638 | 1.03 ± 0.01 |
Benchmark for program dict_snapshot
Open benchmarks
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
526.9 ± 6.5 | 516.7 | 537.8 | 1.00 |
cairo-native (embedded AOT) |
2217.8 ± 21.4 | 2194.5 | 2273.5 | 4.21 ± 0.07 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
2341.0 ± 33.3 | 2303.9 | 2394.2 | 4.44 ± 0.08 |
Benchmark for program factorial_2M
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
4.878 ± 0.021 | 4.845 | 4.918 | 1.84 ± 0.02 |
cairo-native (embedded AOT) |
2.654 ± 0.023 | 2.626 | 2.701 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
2.689 ± 0.018 | 2.659 | 2.717 | 1.01 ± 0.01 |
Benchmark for program fib_2M
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
4.815 ± 0.029 | 4.782 | 4.875 | 2.20 ± 0.02 |
cairo-native (embedded AOT) |
2.184 ± 0.019 | 2.161 | 2.222 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
2.215 ± 0.023 | 2.181 | 2.260 | 1.01 ± 0.01 |
Benchmark for program heavy_circuit
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
9.613 ± 0.070 | 9.486 | 9.720 | 1.00 |
cairo-native (embedded AOT) |
14.758 ± 0.075 | 14.633 | 14.860 | 1.54 ± 0.01 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
15.070 ± 0.086 | 14.950 | 15.225 | 1.57 ± 0.01 |
Benchmark for program linear_search
Open benchmarks
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
572.5 ± 10.7 | 559.8 | 598.2 | 1.00 |
cairo-native (embedded AOT) |
2242.1 ± 25.5 | 2208.0 | 2304.5 | 3.92 ± 0.09 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
2388.3 ± 27.9 | 2343.9 | 2430.2 | 4.17 ± 0.09 |
Benchmark for program logistic_map
Open benchmarks
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
382.3 ± 5.0 | 375.5 | 391.1 | 1.00 |
cairo-native (embedded AOT) |
2359.3 ± 32.5 | 2331.5 | 2443.7 | 6.17 ± 0.12 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
2530.5 ± 24.5 | 2494.5 | 2582.5 | 6.62 ± 0.11 |
Co-authored-by: DiegoC <[email protected]>
JulianGCalderon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running make test prints the following warning. Is the config file required?
warning: ignoring unknown configuration keys in config file /Users/julian/projects/cairo_native/.config/nextest.toml:
- profile.ci.debug
- profile.ci.inherits
- profile.ci.opt-level
|
Oh, I may have missed that message when I ran it. I'll check it. |
|
I ended up removing the config file. |
JulianGCalderon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Speedup tests
This PR adds cargo-nextest as the tool used to run tests. It also parallelizes how tests are run in
cairo-native-testandscarb-native-testwhich were run rather sequentially.Improvements:
make test-cairocommand.Introduces Breaking Changes?
No.
starknet-blocks.ymlworkflow to use these PRs.These PRs should be merged after this one right away, in that order.
Checklist