lambdaclass / cairo-vm

cairo-vm is a Rust implementation of the Cairo VM. Cairo (CPU Algebraic Intermediate Representation) is a programming language for writing provable programs, where one party can prove to another that a certain computation was executed correctly without the need for this party to re-execute the same program.
https://lambdaclass.github.io/cairo-vm
Apache License 2.0
509 stars 142 forks source link

Change ec_op_impl() to use ProjectivePoint (0.9.X base) #1534

Closed fmoletta closed 8 months ago

fmoletta commented 8 months ago

Same as #1531 for 0.9.X base

codecov[bot] commented 8 months ago

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (6fa38f7) 96.82% compared to head (aaa9951) 96.82%.

Files Patch % Lines
vm/src/vm/runners/builtin_runner/ec_op.rs 97.77% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## releases/0.9.X #1534 +/- ## ================================================== - Coverage 96.82% 96.82% -0.01% ================================================== Files 95 95 Lines 39451 39464 +13 ================================================== + Hits 38199 38211 +12 - Misses 1252 1253 +1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 8 months ago

Benchmark Results for unmodified programs :rocket:

Command Mean [s] Min [s] Max [s] Relative
base big_factorial 2.584 ± 0.019 2.559 2.618 1.00
head big_factorial 2.592 ± 0.012 2.578 2.619 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base big_fibonacci 2.159 ± 0.013 2.133 2.178 1.00
head big_fibonacci 2.183 ± 0.019 2.166 2.220 1.01 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base blake2s_integration_benchmark 5.995 ± 0.044 5.953 6.071 1.01 ± 0.01
head blake2s_integration_benchmark 5.932 ± 0.048 5.877 6.024 1.00
Command Mean [s] Min [s] Max [s] Relative
base compare_arrays_200000 2.242 ± 0.011 2.228 2.256 1.00
head compare_arrays_200000 2.285 ± 0.020 2.265 2.333 1.02 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base dict_integration_benchmark 1.569 ± 0.008 1.555 1.579 1.00
head dict_integration_benchmark 1.633 ± 0.019 1.612 1.666 1.04 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base field_arithmetic_get_square_benchmark 1.052 ± 0.006 1.044 1.062 1.00
head field_arithmetic_get_square_benchmark 1.074 ± 0.023 1.054 1.133 1.02 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base integration_builtins 5.913 ± 0.038 5.867 5.994 1.00
head integration_builtins 5.920 ± 0.050 5.868 5.995 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base keccak_integration_benchmark 6.082 ± 0.059 6.031 6.213 1.00 ± 0.02
head keccak_integration_benchmark 6.055 ± 0.092 5.974 6.287 1.00
Command Mean [s] Min [s] Max [s] Relative
base linear_search 2.266 ± 0.008 2.256 2.280 1.00
head linear_search 2.289 ± 0.012 2.273 2.307 1.01 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base math_cmp_and_pow_integration_benchmark 1.552 ± 0.021 1.533 1.607 1.00
head math_cmp_and_pow_integration_benchmark 1.579 ± 0.023 1.556 1.618 1.02 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base math_integration_benchmark 1.474 ± 0.011 1.457 1.489 1.00
head math_integration_benchmark 1.501 ± 0.017 1.482 1.541 1.02 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base memory_integration_benchmark 1.297 ± 0.010 1.282 1.310 1.00
head memory_integration_benchmark 1.323 ± 0.012 1.308 1.344 1.02 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base operations_with_data_structures_benchmarks 1.426 ± 0.008 1.410 1.435 1.00
head operations_with_data_structures_benchmarks 1.453 ± 0.008 1.443 1.466 1.02 ± 0.01
Command Mean [ms] Min [ms] Max [ms] Relative
base pedersen 584.9 ± 15.2 575.3 615.1 1.00
head pedersen 585.6 ± 2.2 583.0 590.1 1.00 ± 0.03
Command Mean [s] Min [s] Max [s] Relative
base poseidon_integration_benchmark 1.143 ± 0.008 1.135 1.165 1.00
head poseidon_integration_benchmark 1.159 ± 0.010 1.148 1.180 1.01 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base secp_integration_benchmark 1.984 ± 0.006 1.973 1.992 1.00
head secp_integration_benchmark 1.999 ± 0.007 1.982 2.007 1.01 ± 0.00
Command Mean [s] Min [s] Max [s] Relative
base set_integration_benchmark 1.133 ± 0.011 1.127 1.164 1.00
head set_integration_benchmark 1.144 ± 0.005 1.139 1.153 1.01 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base uint256_integration_benchmark 3.825 ± 0.024 3.794 3.852 1.00
head uint256_integration_benchmark 3.854 ± 0.031 3.824 3.925 1.01 ± 0.01