cairo_native
cairo_native copied to clipboard
Add managed allocator.
Depends on #1053
Checklist
- [ ] Linked to Github Issue
- [ ] Unit tests added
- [ ] Integration tests added.
- [ ] This change requires new documentation.
- [ ] Documentation has been added/updated.
Benchmark results Main vs HEAD.
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base dict_insert.cairo (JIT) |
4.046 ± 0.045 | 3.982 | 4.118 | 1.03 ± 0.02 |
base dict_insert.cairo (AOT) |
3.930 ± 0.047 | 3.856 | 3.986 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head dict_insert.cairo (JIT) |
3.976 ± 0.128 | 3.831 | 4.146 | 1.00 |
head dict_insert.cairo (AOT) |
4.054 ± 0.091 | 3.905 | 4.156 | 1.02 ± 0.04 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base dict_snapshot.cairo (JIT) |
3.882 ± 0.017 | 3.854 | 3.902 | 1.05 ± 0.01 |
base dict_snapshot.cairo (AOT) |
3.689 ± 0.029 | 3.656 | 3.740 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head dict_snapshot.cairo (JIT) |
3.926 ± 0.128 | 3.767 | 4.144 | 1.02 ± 0.04 |
head dict_snapshot.cairo (AOT) |
3.855 ± 0.052 | 3.768 | 3.916 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base factorial_2M.cairo (JIT) |
4.197 ± 0.061 | 4.144 | 4.341 | 1.00 ± 0.02 |
base factorial_2M.cairo (AOT) |
4.183 ± 0.061 | 4.079 | 4.270 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head factorial_2M.cairo (JIT) |
4.348 ± 0.104 | 4.196 | 4.474 | 1.02 ± 0.03 |
head factorial_2M.cairo (AOT) |
4.256 ± 0.092 | 4.136 | 4.412 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base fib_2M.cairo (JIT) |
3.766 ± 0.040 | 3.704 | 3.837 | 1.01 ± 0.01 |
base fib_2M.cairo (AOT) |
3.737 ± 0.032 | 3.681 | 3.780 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head fib_2M.cairo (JIT) |
3.786 ± 0.080 | 3.676 | 3.888 | 1.01 ± 0.03 |
head fib_2M.cairo (AOT) |
3.748 ± 0.088 | 3.596 | 3.861 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base linear_search.cairo (JIT) |
4.022 ± 0.083 | 3.939 | 4.185 | 1.07 ± 0.03 |
base linear_search.cairo (AOT) |
3.758 ± 0.046 | 3.685 | 3.848 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head linear_search.cairo (JIT) |
3.924 ± 0.125 | 3.734 | 4.089 | 1.04 ± 0.04 |
head linear_search.cairo (AOT) |
3.770 ± 0.100 | 3.661 | 3.961 | 1.00 |
Base
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
base logistic_map.cairo (JIT) |
3.988 ± 0.055 | 3.928 | 4.098 | 1.05 ± 0.02 |
base logistic_map.cairo (AOT) |
3.787 ± 0.033 | 3.750 | 3.870 | 1.00 |
Head
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
head logistic_map.cairo (JIT) |
4.096 ± 0.112 | 3.922 | 4.217 | 1.06 ± 0.04 |
head logistic_map.cairo (AOT) |
3.876 ± 0.105 | 3.720 | 4.011 | 1.00 |
Benchmarking results
Benchmark for program dict_insert
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
20.281 ± 0.120 | 20.155 | 20.595 | 5.32 ± 0.05 |
cairo-native (embedded AOT) |
3.812 ± 0.029 | 3.766 | 3.862 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
3.850 ± 0.028 | 3.811 | 3.903 | 1.01 ± 0.01 |
Benchmark for program dict_snapshot
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
5.875 ± 0.060 | 5.808 | 6.021 | 1.60 ± 0.02 |
cairo-native (embedded AOT) |
3.676 ± 0.022 | 3.629 | 3.703 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
3.792 ± 0.046 | 3.712 | 3.867 | 1.03 ± 0.01 |
Benchmark for program factorial_2M
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
14.162 ± 0.145 | 13.951 | 14.403 | 3.47 ± 0.05 |
cairo-native (embedded AOT) |
4.186 ± 0.034 | 4.139 | 4.246 | 1.03 ± 0.01 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
4.081 ± 0.035 | 4.036 | 4.159 | 1.00 |
Benchmark for program fib_2M
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
13.824 ± 0.044 | 13.715 | 13.878 | 3.89 ± 0.04 |
cairo-native (embedded AOT) |
3.552 ± 0.034 | 3.511 | 3.617 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
3.580 ± 0.025 | 3.548 | 3.614 | 1.01 ± 0.01 |
Benchmark for program linear_search
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
5.845 ± 0.056 | 5.781 | 5.954 | 1.60 ± 0.02 |
cairo-native (embedded AOT) |
3.660 ± 0.031 | 3.609 | 3.723 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
3.786 ± 0.057 | 3.743 | 3.930 | 1.03 ± 0.02 |
Benchmark for program logistic_map
Open benchmarks
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
5.732 ± 0.054 | 5.662 | 5.851 | 1.52 ± 0.03 |
cairo-native (embedded AOT) |
3.770 ± 0.055 | 3.691 | 3.852 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
3.908 ± 0.083 | 3.826 | 4.060 | 1.04 ± 0.03 |
Codecov Report
Attention: Patch coverage is 39.02439% with 50 lines in your changes missing coverage. Please review.
Project coverage is 81.00%. Comparing base (
82f6a14) to head (79d24ff).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| src/utils/allocator.rs | 19.35% | 50 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #1054 +/- ##
==========================================
- Coverage 81.12% 81.00% -0.13%
==========================================
Files 110 111 +1
Lines 29569 29641 +72
==========================================
+ Hits 23988 24010 +22
- Misses 5581 5631 +50
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.