-
Notifications
You must be signed in to change notification settings - Fork 47
[Sierra-Emu] Fix felt-dict's overflow, circuits libfuncs and implement missing EcPoint libfunc #1208
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?
Conversation
Benchmark results Main vs 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.441 ± 0.063 | 11.353 | 11.537 | 2.31 ± 0.02 |
cairo-native (embedded AOT) |
4.947 ± 0.028 | 4.889 | 4.983 | 1.00 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
5.118 ± 0.076 | 5.048 | 5.310 | 1.03 ± 0.02 |
Benchmark for program dict_snapshot
Open benchmarks
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
816.3 ± 4.4 | 811.7 | 823.9 | 1.00 |
cairo-native (embedded AOT) |
4874.2 ± 35.0 | 4834.5 | 4959.0 | 5.97 ± 0.05 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
5022.3 ± 64.8 | 4960.3 | 5189.0 | 6.15 ± 0.09 |
Benchmark for program factorial_2M
Open benchmarks
Command | Mean [s] | Min [s] | Max [s] | Relative |
---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
5.287 ± 0.031 | 5.247 | 5.341 | 1.00 |
cairo-native (embedded AOT) |
5.304 ± 0.053 | 5.250 | 5.394 | 1.00 ± 0.01 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
5.350 ± 0.081 | 5.273 | 5.537 | 1.01 ± 0.02 |
Benchmark for program fib_2M
Open benchmarks
Command | Mean [s] | Min [s] | Max [s] | Relative |
---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
5.093 ± 0.024 | 5.061 | 5.139 | 1.06 ± 0.01 |
cairo-native (embedded AOT) |
4.847 ± 0.062 | 4.778 | 4.987 | 1.00 ± 0.01 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
4.826 ± 0.033 | 4.775 | 4.875 | 1.00 |
Benchmark for program linear_search
Open benchmarks
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
814.8 ± 6.2 | 806.8 | 828.2 | 1.00 |
cairo-native (embedded AOT) |
4925.2 ± 27.4 | 4893.9 | 4983.4 | 6.04 ± 0.06 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
5053.1 ± 53.7 | 4982.0 | 5152.1 | 6.20 ± 0.08 |
Benchmark for program logistic_map
Open benchmarks
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
Cairo-vm (Rust, Cairo 1) |
531.8 ± 8.6 | 524.4 | 553.5 | 1.00 |
cairo-native (embedded AOT) |
5060.7 ± 30.3 | 5019.9 | 5125.3 | 9.52 ± 0.16 |
cairo-native (embedded JIT using LLVM's ORC Engine) |
5247.8 ± 26.3 | 5207.2 | 5281.5 | 9.87 ± 0.17 |
✅ Code is now correctly formatted. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1208 +/- ##
=======================================
Coverage 80.48% 80.48%
=======================================
Files 110 110
Lines 29580 29580
=======================================
Hits 23807 23807
Misses 5773 5773 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…s/cairo_native into sierra-emu-felt-dict-circuits
…s/cairo_native into sierra-emu-felt-dict-circuits
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.
Looking good, I left two small comments.
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, I suggested a small correction
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
This PR fixes some issues:
FeltDict
libfuncs:u64::MAX
. It was change to match the amount of gas needed by the test.felt252_dict_get
libfunc was always returning the default value of a Felt, which was intented only in cases where the dict didn't contain the key received as argument.Circuits
libfuncs:circuit_try_into_circuit_modulus
.circuit_u96_limbs_less_than_guarantee_verify
libfunc which was noop before.circuit_add_input
which wasn't checking correctly when to stop adding inputs."EcPoint" libfuncs
ec_zero
libfuncChecklist