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
488 stars 133 forks source link

release v1.0.0-rc4 #1803

Closed pefontana closed 2 weeks ago

pefontana commented 2 weeks ago

release v1.0.0-rc4

Description

Description of the pull request changes and motivation.

Checklist

github-actions[bot] commented 2 weeks ago
**Hyper Thereading Benchmark results**

hyperfine -r 2 -n "hyper_threading_main threads: 1" 'RAYON_NUM_THREADS=1 ./hyper_threading_main' -n "hyper_threading_pr threads: 1" 'RAYON_NUM_THREADS=1 ./hyper_threading_pr'
Benchmark 1: hyper_threading_main threads: 1
  Time (mean ± σ):     26.120 s ±  0.059 s    [User: 25.418 s, System: 0.700 s]
  Range (min … max):   26.078 s … 26.162 s    2 runs

Benchmark 2: hyper_threading_pr threads: 1
  Time (mean ± σ):     26.007 s ±  0.030 s    [User: 25.202 s, System: 0.804 s]
  Range (min … max):   25.986 s … 26.028 s    2 runs

Summary
  'hyper_threading_pr threads: 1' ran
    1.00 ± 0.00 times faster than 'hyper_threading_main threads: 1'

hyperfine -r 2 -n "hyper_threading_main threads: 2" 'RAYON_NUM_THREADS=2 ./hyper_threading_main' -n "hyper_threading_pr threads: 2" 'RAYON_NUM_THREADS=2 ./hyper_threading_pr'
Benchmark 1: hyper_threading_main threads: 2
  Time (mean ± σ):     14.710 s ±  0.005 s    [User: 26.033 s, System: 0.800 s]
  Range (min … max):   14.706 s … 14.713 s    2 runs

Benchmark 2: hyper_threading_pr threads: 2
  Time (mean ± σ):     14.656 s ±  0.025 s    [User: 25.948 s, System: 0.793 s]
  Range (min … max):   14.638 s … 14.674 s    2 runs

Summary
  'hyper_threading_pr threads: 2' ran
    1.00 ± 0.00 times faster than 'hyper_threading_main threads: 2'

hyperfine -r 2 -n "hyper_threading_main threads: 4" 'RAYON_NUM_THREADS=4 ./hyper_threading_main' -n "hyper_threading_pr threads: 4" 'RAYON_NUM_THREADS=4 ./hyper_threading_pr'
Benchmark 1: hyper_threading_main threads: 4
  Time (mean ± σ):     10.684 s ±  0.368 s    [User: 37.832 s, System: 0.947 s]
  Range (min … max):   10.424 s … 10.944 s    2 runs

Benchmark 2: hyper_threading_pr threads: 4
  Time (mean ± σ):     10.337 s ±  0.494 s    [User: 37.688 s, System: 1.014 s]
  Range (min … max):    9.988 s … 10.686 s    2 runs

Summary
  'hyper_threading_pr threads: 4' ran
    1.03 ± 0.06 times faster than 'hyper_threading_main threads: 4'

hyperfine -r 2 -n "hyper_threading_main threads: 6" 'RAYON_NUM_THREADS=6 ./hyper_threading_main' -n "hyper_threading_pr threads: 6" 'RAYON_NUM_THREADS=6 ./hyper_threading_pr'
Benchmark 1: hyper_threading_main threads: 6
  Time (mean ± σ):     10.368 s ±  0.005 s    [User: 38.306 s, System: 0.962 s]
  Range (min … max):   10.364 s … 10.371 s    2 runs

Benchmark 2: hyper_threading_pr threads: 6
  Time (mean ± σ):     10.436 s ±  0.058 s    [User: 37.715 s, System: 0.944 s]
  Range (min … max):   10.396 s … 10.477 s    2 runs

Summary
  'hyper_threading_main threads: 6' ran
    1.01 ± 0.01 times faster than 'hyper_threading_pr threads: 6'

hyperfine -r 2 -n "hyper_threading_main threads: 8" 'RAYON_NUM_THREADS=8 ./hyper_threading_main' -n "hyper_threading_pr threads: 8" 'RAYON_NUM_THREADS=8 ./hyper_threading_pr'
Benchmark 1: hyper_threading_main threads: 8
  Time (mean ± σ):     10.389 s ±  0.159 s    [User: 38.194 s, System: 1.017 s]
  Range (min … max):   10.277 s … 10.501 s    2 runs

Benchmark 2: hyper_threading_pr threads: 8
  Time (mean ± σ):     10.256 s ±  0.102 s    [User: 37.923 s, System: 0.995 s]
  Range (min … max):   10.184 s … 10.328 s    2 runs

Summary
  'hyper_threading_pr threads: 8' ran
    1.01 ± 0.02 times faster than 'hyper_threading_main threads: 8'

hyperfine -r 2 -n "hyper_threading_main threads: 16" 'RAYON_NUM_THREADS=16 ./hyper_threading_main' -n "hyper_threading_pr threads: 16" 'RAYON_NUM_THREADS=16 ./hyper_threading_pr'
Benchmark 1: hyper_threading_main threads: 16
  Time (mean ± σ):     10.470 s ±  0.051 s    [User: 38.626 s, System: 1.008 s]
  Range (min … max):   10.434 s … 10.506 s    2 runs

Benchmark 2: hyper_threading_pr threads: 16
  Time (mean ± σ):     10.117 s ±  0.066 s    [User: 38.205 s, System: 1.087 s]
  Range (min … max):   10.071 s … 10.164 s    2 runs

Summary
  'hyper_threading_pr threads: 16' ran
    1.03 ± 0.01 times faster than 'hyper_threading_main threads: 16'
github-actions[bot] commented 2 weeks ago

Benchmark Results for unmodified programs :rocket:

Command Mean [s] Min [s] Max [s] Relative
base big_factorial 2.064 ± 0.041 2.039 2.178 1.01 ± 0.02
head big_factorial 2.049 ± 0.016 2.034 2.093 1.00
Command Mean [s] Min [s] Max [s] Relative
base big_fibonacci 2.011 ± 0.036 1.989 2.105 1.01 ± 0.02
head big_fibonacci 1.998 ± 0.008 1.986 2.009 1.00
Command Mean [s] Min [s] Max [s] Relative
base blake2s_integration_benchmark 7.856 ± 0.509 7.476 9.000 1.02 ± 0.09
head blake2s_integration_benchmark 7.673 ± 0.399 7.418 8.778 1.00
Command Mean [s] Min [s] Max [s] Relative
base compare_arrays_200000 2.148 ± 0.111 2.097 2.464 1.02 ± 0.05
head compare_arrays_200000 2.113 ± 0.020 2.090 2.146 1.00
Command Mean [s] Min [s] Max [s] Relative
base dict_integration_benchmark 1.387 ± 0.012 1.378 1.418 1.00
head dict_integration_benchmark 1.425 ± 0.059 1.401 1.593 1.03 ± 0.04
Command Mean [s] Min [s] Max [s] Relative
base field_arithmetic_get_square_benchmark 1.228 ± 0.044 1.202 1.352 1.01 ± 0.05
head field_arithmetic_get_square_benchmark 1.213 ± 0.033 1.192 1.304 1.00
Command Mean [s] Min [s] Max [s] Relative
base integration_builtins 7.655 ± 0.134 7.513 7.941 1.00 ± 0.02
head integration_builtins 7.653 ± 0.117 7.475 7.771 1.00
Command Mean [s] Min [s] Max [s] Relative
base keccak_integration_benchmark 7.835 ± 0.076 7.725 7.967 1.00
head keccak_integration_benchmark 8.122 ± 0.657 7.788 9.970 1.04 ± 0.08
Command Mean [s] Min [s] Max [s] Relative
base linear_search 2.111 ± 0.015 2.096 2.145 1.00
head linear_search 2.121 ± 0.074 2.085 2.325 1.00 ± 0.04
Command Mean [s] Min [s] Max [s] Relative
base math_cmp_and_pow_integration_benchmark 1.486 ± 0.035 1.466 1.583 1.01 ± 0.02
head math_cmp_and_pow_integration_benchmark 1.475 ± 0.005 1.469 1.485 1.00
Command Mean [s] Min [s] Max [s] Relative
base math_integration_benchmark 1.411 ± 0.003 1.407 1.415 1.00
head math_integration_benchmark 1.442 ± 0.026 1.425 1.490 1.02 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base memory_integration_benchmark 1.172 ± 0.006 1.164 1.185 1.00
head memory_integration_benchmark 1.175 ± 0.004 1.171 1.182 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base operations_with_data_structures_benchmarks 1.527 ± 0.004 1.522 1.535 1.00
head operations_with_data_structures_benchmarks 1.531 ± 0.005 1.524 1.537 1.00 ± 0.00
Command Mean [ms] Min [ms] Max [ms] Relative
base pedersen 517.3 ± 0.9 516.0 518.8 1.00
head pedersen 520.6 ± 3.6 518.0 530.6 1.01 ± 0.01
Command Mean [ms] Min [ms] Max [ms] Relative
base poseidon_integration_benchmark 746.6 ± 2.6 741.8 749.8 1.00
head poseidon_integration_benchmark 748.1 ± 16.5 736.1 794.1 1.00 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base secp_integration_benchmark 1.792 ± 0.013 1.776 1.822 1.00 ± 0.01
head secp_integration_benchmark 1.787 ± 0.006 1.777 1.799 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base set_integration_benchmark 645.7 ± 7.9 638.5 659.8 1.00
head set_integration_benchmark 647.6 ± 2.0 644.9 651.2 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base uint256_integration_benchmark 4.201 ± 0.076 4.130 4.388 1.00
head uint256_integration_benchmark 4.201 ± 0.061 4.121 4.316 1.00 ± 0.02
codecov[bot] commented 2 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.79%. Comparing base (da4a034) to head (eff9851).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1803 +/- ## ======================================= Coverage 94.79% 94.79% ======================================= Files 102 102 Lines 40138 40138 ======================================= Hits 38047 38047 Misses 2091 2091 ```

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