cairo_native
cairo_native copied to clipboard
[DNM] Trace Dump Feature
This PR is related to #775 It updates it with recent changes but is also not mergeable until more cleanup is done
Checklist
- [ ] Linked to Github Issue
- [ ] Unit tests added
- [ ] Integration tests added.
- [ ] This change requires new documentation.
- [ ] Documentation has been added/updated.
❌ Code is not formatted! Please run cargo format and push the changes.
Benchmark results Main vs HEAD.
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base dict_insert.cairo (JIT) |
4.709 ± 0.035 | 4.654 | 4.790 | 1.01 ± 0.01 |
base dict_insert.cairo (AOT) |
4.652 ± 0.021 | 4.628 | 4.681 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head dict_insert.cairo (JIT) |
4.793 ± 0.037 | 4.742 | 4.854 | 1.01 ± 0.01 |
head dict_insert.cairo (AOT) |
4.746 ± 0.023 | 4.710 | 4.783 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base dict_snapshot.cairo (JIT) |
4.636 ± 0.016 | 4.610 | 4.661 | 1.03 ± 0.01 |
base dict_snapshot.cairo (AOT) |
4.507 ± 0.017 | 4.476 | 4.531 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head dict_snapshot.cairo (JIT) |
4.702 ± 0.032 | 4.644 | 4.758 | 1.03 ± 0.01 |
head dict_snapshot.cairo (AOT) |
4.562 ± 0.031 | 4.526 | 4.623 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base factorial_2M.cairo (JIT) |
4.968 ± 0.019 | 4.938 | 4.995 | 1.00 ± 0.01 |
base factorial_2M.cairo (AOT) |
4.947 ± 0.021 | 4.907 | 4.980 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head factorial_2M.cairo (JIT) |
5.043 ± 0.040 | 4.987 | 5.126 | 1.02 ± 0.01 |
head factorial_2M.cairo (AOT) |
4.967 ± 0.017 | 4.940 | 4.996 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base fib_2M.cairo (JIT) |
4.512 ± 0.024 | 4.464 | 4.549 | 1.01 ± 0.01 |
base fib_2M.cairo (AOT) |
4.456 ± 0.026 | 4.412 | 4.497 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head fib_2M.cairo (JIT) |
4.563 ± 0.021 | 4.533 | 4.603 | 1.00 |
head fib_2M.cairo (AOT) |
4.571 ± 0.024 | 4.547 | 4.614 | 1.00 ± 0.01 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base linear_search.cairo (JIT) |
4.702 ± 0.023 | 4.665 | 4.739 | 1.03 ± 0.01 |
base linear_search.cairo (AOT) |
4.562 ± 0.027 | 4.522 | 4.608 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head linear_search.cairo (JIT) |
4.748 ± 0.022 | 4.727 | 4.798 | 1.02 ± 0.01 |
head linear_search.cairo (AOT) |
4.635 ± 0.028 | 4.578 | 4.674 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base logistic_map.cairo (JIT) |
4.793 ± 0.021 | 4.757 | 4.831 | 1.04 ± 0.01 |
base logistic_map.cairo (AOT) |
4.622 ± 0.031 | 4.583 | 4.671 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head logistic_map.cairo (JIT) |
4.819 ± 0.014 | 4.802 | 4.852 | 1.03 ± 0.01 |
head logistic_map.cairo (AOT) |
4.674 ± 0.024 | 4.637 | 4.716 | 1.00 |
Codecov Report
Attention: Patch coverage is 83.67347% with 8 lines in your changes missing coverage. Please review.
Project coverage is 80.35%. Comparing base (
19de615) to head (2f3b224).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| src/compiler.rs | 80.00% | 8 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #1077 +/- ##
==========================================
+ Coverage 80.34% 80.35% +0.01%
==========================================
Files 110 110
Lines 29554 29574 +20
==========================================
+ Hits 23745 23765 +20
Misses 5809 5809
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Benchmarking results
Benchmark for program dict_insert
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
15.143 ± 0.046 | 15.073 | 15.232 | 3.22 ± 0.02 |
cairo-native (embedded AOT) |
4.702 ± 0.029 | 4.639 | 4.729 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
4.820 ± 0.072 | 4.729 | 4.951 | 1.03 ± 0.02 |
Benchmark for program dict_snapshot
Open benchmarks
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
695.1 ± 8.0 | 682.7 | 709.7 | 1.00 |
cairo-native (embedded AOT) |
4672.2 ± 86.5 | 4523.4 | 4806.3 | 6.72 ± 0.15 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
4623.3 ± 37.5 | 4578.0 | 4687.2 | 6.65 ± 0.09 |
Benchmark for program factorial_2M
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
9.066 ± 0.107 | 8.895 | 9.309 | 1.75 ± 0.02 |
cairo-native (embedded AOT) |
5.184 ± 0.035 | 5.131 | 5.255 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
5.246 ± 0.027 | 5.195 | 5.280 | 1.01 ± 0.01 |
Benchmark for program fib_2M
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
8.670 ± 0.074 | 8.589 | 8.844 | 1.90 ± 0.03 |
cairo-native (embedded AOT) |
4.573 ± 0.067 | 4.460 | 4.689 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
4.729 ± 0.028 | 4.683 | 4.769 | 1.03 ± 0.02 |
Benchmark for program linear_search
Open benchmarks
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
724.9 ± 5.8 | 717.3 | 733.2 | 1.00 |
cairo-native (embedded AOT) |
4621.9 ± 34.6 | 4582.9 | 4697.2 | 6.38 ± 0.07 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
4777.6 ± 30.5 | 4733.3 | 4825.2 | 6.59 ± 0.07 |
Benchmark for program logistic_map
Open benchmarks
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
452.9 ± 5.2 | 446.8 | 461.5 | 1.00 |
cairo-native (embedded AOT) |
4789.7 ± 51.1 | 4726.3 | 4880.7 | 10.58 ± 0.17 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
5001.4 ± 56.2 | 4919.1 | 5105.0 | 11.04 ± 0.18 |
This has been integrated into main by #1199