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
522 stars 150 forks source link

Update rust version #1857

Closed pefontana closed 4 weeks ago

pefontana commented 4 weeks ago

Update rust version

Update rust version to 1.81.0

Description of the pull request changes and motivation.

Checklist

github-actions[bot] commented 4 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 ± σ):     30.228 s ±  0.041 s    [User: 29.401 s, System: 0.824 s]
  Range (min … max):   30.199 s … 30.256 s    2 runs

Benchmark 2: hyper_threading_pr threads: 1
  Time (mean ± σ):     33.536 s ±  0.102 s    [User: 32.748 s, System: 0.786 s]
  Range (min … max):   33.464 s … 33.608 s    2 runs

Summary
  'hyper_threading_main threads: 1' ran
    1.11 ± 0.00 times faster than 'hyper_threading_pr 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 ± σ):     16.751 s ±  0.035 s    [User: 29.290 s, System: 0.874 s]
  Range (min … max):   16.726 s … 16.776 s    2 runs

Benchmark 2: hyper_threading_pr threads: 2
  Time (mean ± σ):     18.031 s ±  0.017 s    [User: 31.389 s, System: 0.869 s]
  Range (min … max):   18.019 s … 18.043 s    2 runs

Summary
  'hyper_threading_main threads: 2' ran
    1.08 ± 0.00 times faster than 'hyper_threading_pr 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 ± σ):     11.856 s ±  0.226 s    [User: 41.842 s, System: 1.000 s]
  Range (min … max):   11.696 s … 12.016 s    2 runs

Benchmark 2: hyper_threading_pr threads: 4
  Time (mean ± σ):     12.645 s ±  0.245 s    [User: 43.234 s, System: 0.967 s]
  Range (min … max):   12.472 s … 12.818 s    2 runs

Summary
  'hyper_threading_main threads: 4' ran
    1.07 ± 0.03 times faster than 'hyper_threading_pr 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 ± σ):     11.377 s ±  0.122 s    [User: 42.347 s, System: 1.080 s]
  Range (min … max):   11.291 s … 11.463 s    2 runs

Benchmark 2: hyper_threading_pr threads: 6
  Time (mean ± σ):     12.007 s ±  0.325 s    [User: 43.829 s, System: 1.048 s]
  Range (min … max):   11.777 s … 12.237 s    2 runs

Summary
  'hyper_threading_main threads: 6' ran
    1.06 ± 0.03 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 ± σ):     11.400 s ±  0.008 s    [User: 42.308 s, System: 1.050 s]
  Range (min … max):   11.395 s … 11.406 s    2 runs

Benchmark 2: hyper_threading_pr threads: 8
  Time (mean ± σ):     11.918 s ±  0.206 s    [User: 44.010 s, System: 1.051 s]
  Range (min … max):   11.772 s … 12.063 s    2 runs

Summary
  'hyper_threading_main threads: 8' ran
    1.05 ± 0.02 times faster than 'hyper_threading_pr 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 ± σ):     11.576 s ±  0.242 s    [User: 42.644 s, System: 1.084 s]
  Range (min … max):   11.405 s … 11.747 s    2 runs

Benchmark 2: hyper_threading_pr threads: 16
  Time (mean ± σ):     11.814 s ±  0.223 s    [User: 44.443 s, System: 1.082 s]
  Range (min … max):   11.656 s … 11.972 s    2 runs

Summary
  'hyper_threading_main threads: 16' ran
    1.02 ± 0.03 times faster than 'hyper_threading_pr threads: 16'
github-actions[bot] commented 4 weeks ago

Benchmark Results for unmodified programs :rocket:

Command Mean [s] Min [s] Max [s] Relative
base big_factorial 2.410 ± 0.024 2.386 2.470 1.00
head big_factorial 2.463 ± 0.024 2.426 2.487 1.02 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base big_fibonacci 2.383 ± 0.101 2.325 2.638 1.00
head big_fibonacci 2.410 ± 0.027 2.375 2.438 1.01 ± 0.04
Command Mean [s] Min [s] Max [s] Relative
base blake2s_integration_benchmark 8.611 ± 0.200 8.369 8.930 1.00
head blake2s_integration_benchmark 9.251 ± 0.452 8.913 10.251 1.07 ± 0.06
Command Mean [s] Min [s] Max [s] Relative
base compare_arrays_200000 2.494 ± 0.099 2.445 2.771 1.00
head compare_arrays_200000 2.555 ± 0.064 2.490 2.724 1.02 ± 0.05
Command Mean [s] Min [s] Max [s] Relative
base dict_integration_benchmark 1.651 ± 0.044 1.617 1.736 1.00
head dict_integration_benchmark 1.657 ± 0.024 1.637 1.702 1.00 ± 0.03
Command Mean [s] Min [s] Max [s] Relative
base field_arithmetic_get_square_benchmark 1.387 ± 0.020 1.358 1.435 1.00
head field_arithmetic_get_square_benchmark 1.421 ± 0.021 1.394 1.460 1.02 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base integration_builtins 8.679 ± 0.157 8.506 8.905 1.00
head integration_builtins 9.163 ± 0.202 9.007 9.647 1.06 ± 0.03
Command Mean [s] Min [s] Max [s] Relative
base keccak_integration_benchmark 9.090 ± 0.376 8.689 9.857 1.00
head keccak_integration_benchmark 9.426 ± 0.089 9.264 9.514 1.04 ± 0.04
Command Mean [s] Min [s] Max [s] Relative
base linear_search 2.473 ± 0.023 2.452 2.525 1.00
head linear_search 2.550 ± 0.054 2.489 2.666 1.03 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base math_cmp_and_pow_integration_benchmark 1.697 ± 0.020 1.684 1.752 1.00
head math_cmp_and_pow_integration_benchmark 1.716 ± 0.018 1.694 1.744 1.01 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base math_integration_benchmark 1.673 ± 0.050 1.650 1.815 1.00
head math_integration_benchmark 1.689 ± 0.036 1.652 1.778 1.01 ± 0.04
Command Mean [s] Min [s] Max [s] Relative
base memory_integration_benchmark 1.391 ± 0.019 1.374 1.442 1.00
head memory_integration_benchmark 1.414 ± 0.024 1.392 1.475 1.02 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base operations_with_data_structures_benchmarks 1.774 ± 0.033 1.745 1.853 1.00
head operations_with_data_structures_benchmarks 1.799 ± 0.024 1.771 1.849 1.01 ± 0.02
Command Mean [ms] Min [ms] Max [ms] Relative
base pedersen 572.9 ± 5.0 567.2 582.4 1.00
head pedersen 586.7 ± 4.9 582.9 600.1 1.02 ± 0.01
Command Mean [ms] Min [ms] Max [ms] Relative
base poseidon_integration_benchmark 669.3 ± 6.3 663.7 683.8 1.00
head poseidon_integration_benchmark 675.6 ± 9.9 666.3 698.9 1.01 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base secp_integration_benchmark 2.004 ± 0.045 1.967 2.124 1.00
head secp_integration_benchmark 2.059 ± 0.039 2.025 2.149 1.03 ± 0.03
Command Mean [ms] Min [ms] Max [ms] Relative
base set_integration_benchmark 693.3 ± 0.9 692.1 694.9 1.02 ± 0.02
head set_integration_benchmark 679.0 ± 11.0 667.9 696.0 1.00
Command Mean [s] Min [s] Max [s] Relative
base uint256_integration_benchmark 4.866 ± 0.152 4.705 5.108 1.00
head uint256_integration_benchmark 5.003 ± 0.045 4.926 5.050 1.03 ± 0.03
codecov[bot] commented 4 weeks ago

Codecov Report

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

Project coverage is 96.32%. Comparing base (3fb0344) to head (e0a3c49). Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1857 +/- ## ========================================== - Coverage 96.32% 96.32% -0.01% ========================================== Files 102 102 Lines 40381 40315 -66 ========================================== - Hits 38899 38832 -67 - Misses 1482 1483 +1 ```

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