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
485 stars 132 forks source link

Don't cancel workflows on push to main #1779

Closed fmoletta closed 1 month ago

fmoletta commented 1 month ago

Pushes to main shouldn't cancel in-progress workflow runs of previous pushes to main (reference)

github-actions[bot] commented 1 month 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.780 s ±  0.097 s    [User: 25.992 s, System: 0.786 s]
  Range (min … max):   26.712 s … 26.848 s    2 runs

Benchmark 2: hyper_threading_pr threads: 1
  Time (mean ± σ):     26.791 s ±  0.059 s    [User: 25.957 s, System: 0.833 s]
  Range (min … max):   26.749 s … 26.833 s    2 runs

Summary
  'hyper_threading_main threads: 1' ran
    1.00 ± 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 ± σ):     15.039 s ±  0.029 s    [User: 26.829 s, System: 0.777 s]
  Range (min … max):   15.018 s … 15.060 s    2 runs

Benchmark 2: hyper_threading_pr threads: 2
  Time (mean ± σ):     15.010 s ±  0.020 s    [User: 26.784 s, System: 0.744 s]
  Range (min … max):   14.996 s … 15.025 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.519 s ±  0.013 s    [User: 37.958 s, System: 0.975 s]
  Range (min … max):   10.510 s … 10.528 s    2 runs

Benchmark 2: hyper_threading_pr threads: 4
  Time (mean ± σ):     11.001 s ±  0.082 s    [User: 38.030 s, System: 0.987 s]
  Range (min … max):   10.943 s … 11.059 s    2 runs

Summary
  'hyper_threading_main threads: 4' ran
    1.05 ± 0.01 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 ± σ):     10.687 s ±  0.191 s    [User: 38.216 s, System: 1.032 s]
  Range (min … max):   10.552 s … 10.822 s    2 runs

Benchmark 2: hyper_threading_pr threads: 6
  Time (mean ± σ):     10.531 s ±  0.350 s    [User: 38.540 s, System: 0.948 s]
  Range (min … max):   10.283 s … 10.779 s    2 runs

Summary
  'hyper_threading_pr threads: 6' ran
    1.01 ± 0.04 times faster than 'hyper_threading_main 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.351 s ±  0.215 s    [User: 38.790 s, System: 0.984 s]
  Range (min … max):   10.199 s … 10.503 s    2 runs

Benchmark 2: hyper_threading_pr threads: 8
  Time (mean ± σ):     10.486 s ±  0.202 s    [User: 38.372 s, System: 1.056 s]
  Range (min … max):   10.343 s … 10.629 s    2 runs

Summary
  'hyper_threading_main threads: 8' ran
    1.01 ± 0.03 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 ± σ):     10.543 s ±  0.153 s    [User: 38.954 s, System: 0.997 s]
  Range (min … max):   10.435 s … 10.651 s    2 runs

Benchmark 2: hyper_threading_pr threads: 16
  Time (mean ± σ):     10.372 s ±  0.179 s    [User: 38.995 s, System: 1.083 s]
  Range (min … max):   10.245 s … 10.499 s    2 runs

Summary
  'hyper_threading_pr threads: 16' ran
    1.02 ± 0.02 times faster than 'hyper_threading_main threads: 16'
codecov[bot] commented 1 month ago

Codecov Report

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

Project coverage is 94.78%. Comparing base (0f4cfc2) to head (5f94c75).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1779 +/- ## ======================================= Coverage 94.78% 94.78% ======================================= Files 101 101 Lines 39011 39011 ======================================= Hits 36976 36976 Misses 2035 2035 ```

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

github-actions[bot] commented 1 month ago

Benchmark Results for unmodified programs :rocket:

Command Mean [s] Min [s] Max [s] Relative
base big_factorial 2.117 ± 0.021 2.086 2.143 1.01 ± 0.01
head big_factorial 2.099 ± 0.016 2.080 2.127 1.00
Command Mean [s] Min [s] Max [s] Relative
base big_fibonacci 2.059 ± 0.032 2.029 2.133 1.00 ± 0.02
head big_fibonacci 2.055 ± 0.022 2.025 2.096 1.00
Command Mean [s] Min [s] Max [s] Relative
base blake2s_integration_benchmark 7.900 ± 0.219 7.689 8.389 1.01 ± 0.03
head blake2s_integration_benchmark 7.821 ± 0.135 7.579 7.974 1.00
Command Mean [s] Min [s] Max [s] Relative
base compare_arrays_200000 2.169 ± 0.025 2.138 2.209 1.01 ± 0.01
head compare_arrays_200000 2.158 ± 0.020 2.134 2.196 1.00
Command Mean [s] Min [s] Max [s] Relative
base dict_integration_benchmark 1.466 ± 0.070 1.417 1.639 1.02 ± 0.05
head dict_integration_benchmark 1.443 ± 0.010 1.429 1.454 1.00
Command Mean [s] Min [s] Max [s] Relative
base field_arithmetic_get_square_benchmark 1.242 ± 0.016 1.219 1.268 1.01 ± 0.02
head field_arithmetic_get_square_benchmark 1.232 ± 0.017 1.209 1.260 1.00
Command Mean [s] Min [s] Max [s] Relative
base integration_builtins 7.813 ± 0.279 7.582 8.345 1.00 ± 0.04
head integration_builtins 7.795 ± 0.125 7.623 8.001 1.00
Command Mean [s] Min [s] Max [s] Relative
base keccak_integration_benchmark 8.136 ± 0.203 7.888 8.530 1.00
head keccak_integration_benchmark 8.156 ± 0.247 7.868 8.716 1.00 ± 0.04
Command Mean [s] Min [s] Max [s] Relative
base linear_search 2.118 ± 0.017 2.085 2.136 1.00
head linear_search 2.141 ± 0.049 2.100 2.261 1.01 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base math_cmp_and_pow_integration_benchmark 1.472 ± 0.033 1.448 1.561 1.00 ± 0.02
head math_cmp_and_pow_integration_benchmark 1.468 ± 0.008 1.458 1.485 1.00
Command Mean [s] Min [s] Max [s] Relative
base math_integration_benchmark 1.464 ± 0.007 1.453 1.473 1.00
head math_integration_benchmark 1.492 ± 0.042 1.455 1.577 1.02 ± 0.03
Command Mean [s] Min [s] Max [s] Relative
base memory_integration_benchmark 1.227 ± 0.025 1.204 1.282 1.01 ± 0.02
head memory_integration_benchmark 1.216 ± 0.008 1.206 1.226 1.00
Command Mean [s] Min [s] Max [s] Relative
base operations_with_data_structures_benchmarks 1.562 ± 0.024 1.541 1.625 1.00
head operations_with_data_structures_benchmarks 1.590 ± 0.080 1.536 1.752 1.02 ± 0.05
Command Mean [ms] Min [ms] Max [ms] Relative
base pedersen 521.7 ± 4.0 518.2 529.7 1.00 ± 0.01
head pedersen 520.3 ± 1.8 517.2 522.9 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base poseidon_integration_benchmark 752.3 ± 11.2 741.9 781.9 1.00 ± 0.02
head poseidon_integration_benchmark 750.4 ± 7.0 741.7 761.5 1.00
Command Mean [s] Min [s] Max [s] Relative
base secp_integration_benchmark 1.836 ± 0.009 1.822 1.846 1.00 ± 0.01
head secp_integration_benchmark 1.835 ± 0.015 1.819 1.864 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base set_integration_benchmark 677.8 ± 16.2 665.7 720.5 1.00 ± 0.03
head set_integration_benchmark 675.6 ± 9.7 666.6 700.1 1.00
Command Mean [s] Min [s] Max [s] Relative
base uint256_integration_benchmark 4.347 ± 0.255 4.205 5.037 1.01 ± 0.06
head uint256_integration_benchmark 4.299 ± 0.071 4.207 4.454 1.00