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

ci: shallow clone starkware-libs/cairo #1753

Closed Oppen closed 1 month ago

Oppen commented 1 month ago

This makes installing deps much quicker.

TITLE

Description

Description of the pull request changes and motivation.

Checklist

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 ± σ):     27.120 s ±  0.039 s    [User: 26.377 s, System: 0.742 s]
  Range (min … max):   27.092 s … 27.148 s    2 runs

Benchmark 2: hyper_threading_pr threads: 1
  Time (mean ± σ):     27.150 s ±  0.017 s    [User: 26.420 s, System: 0.728 s]
  Range (min … max):   27.138 s … 27.162 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 ± σ):     14.536 s ±  0.050 s    [User: 26.838 s, System: 0.802 s]
  Range (min … max):   14.500 s … 14.571 s    2 runs

Benchmark 2: hyper_threading_pr threads: 2
  Time (mean ± σ):     14.555 s ±  0.077 s    [User: 26.933 s, System: 0.776 s]
  Range (min … max):   14.500 s … 14.610 s    2 runs

Summary
  'hyper_threading_main threads: 2' ran
    1.00 ± 0.01 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 ± σ):     10.888 s ±  0.069 s    [User: 38.505 s, System: 0.933 s]
  Range (min … max):   10.839 s … 10.937 s    2 runs

Benchmark 2: hyper_threading_pr threads: 4
  Time (mean ± σ):     10.895 s ±  0.137 s    [User: 38.823 s, System: 0.981 s]
  Range (min … max):   10.798 s … 10.992 s    2 runs

Summary
  'hyper_threading_main threads: 4' ran
    1.00 ± 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.706 s ±  0.244 s    [User: 38.922 s, System: 0.984 s]
  Range (min … max):   10.533 s … 10.878 s    2 runs

Benchmark 2: hyper_threading_pr threads: 6
  Time (mean ± σ):     10.678 s ±  0.066 s    [User: 39.157 s, System: 0.993 s]
  Range (min … max):   10.631 s … 10.725 s    2 runs

Summary
  'hyper_threading_pr threads: 6' ran
    1.00 ± 0.02 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.688 s ±  0.020 s    [User: 39.139 s, System: 1.039 s]
  Range (min … max):   10.674 s … 10.702 s    2 runs

Benchmark 2: hyper_threading_pr threads: 8
  Time (mean ± σ):     10.462 s ±  0.192 s    [User: 39.342 s, System: 0.995 s]
  Range (min … max):   10.326 s … 10.597 s    2 runs

Summary
  'hyper_threading_pr threads: 8' ran
    1.02 ± 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.441 s ±  0.042 s    [User: 39.572 s, System: 1.115 s]
  Range (min … max):   10.412 s … 10.471 s    2 runs

Benchmark 2: hyper_threading_pr threads: 16
  Time (mean ± σ):     10.504 s ±  0.145 s    [User: 39.625 s, System: 1.104 s]
  Range (min … max):   10.401 s … 10.607 s    2 runs

Summary
  'hyper_threading_main threads: 16' ran
    1.01 ± 0.01 times faster than 'hyper_threading_pr 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.76%. Comparing base (5da72d9) to head (552e06a).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1753 +/- ## ======================================= Coverage 94.76% 94.76% ======================================= Files 101 101 Lines 38804 38804 ======================================= Hits 36773 36773 Misses 2031 2031 ```

: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.067 ± 0.025 2.046 2.119 1.00
head big_factorial 2.075 ± 0.018 2.062 2.122 1.00 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base big_fibonacci 2.011 ± 0.011 1.987 2.024 1.00
head big_fibonacci 2.018 ± 0.012 1.993 2.035 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base blake2s_integration_benchmark 7.653 ± 0.057 7.537 7.710 1.01 ± 0.01
head blake2s_integration_benchmark 7.589 ± 0.079 7.500 7.728 1.00
Command Mean [s] Min [s] Max [s] Relative
base compare_arrays_200000 2.144 ± 0.023 2.119 2.201 1.00
head compare_arrays_200000 2.152 ± 0.025 2.121 2.213 1.00 ± 0.02
Command Mean [s] Min [s] Max [s] Relative
base dict_integration_benchmark 1.422 ± 0.005 1.418 1.433 1.00
head dict_integration_benchmark 1.427 ± 0.008 1.420 1.448 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base field_arithmetic_get_square_benchmark 1.294 ± 0.012 1.279 1.325 1.00
head field_arithmetic_get_square_benchmark 1.301 ± 0.015 1.284 1.337 1.01 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base integration_builtins 7.638 ± 0.089 7.503 7.760 1.00 ± 0.01
head integration_builtins 7.607 ± 0.071 7.523 7.696 1.00
Command Mean [s] Min [s] Max [s] Relative
base keccak_integration_benchmark 7.908 ± 0.181 7.737 8.365 1.00 ± 0.02
head keccak_integration_benchmark 7.897 ± 0.059 7.776 7.966 1.00
Command Mean [s] Min [s] Max [s] Relative
base linear_search 2.100 ± 0.021 2.082 2.151 1.00 ± 0.01
head linear_search 2.099 ± 0.013 2.087 2.127 1.00
Command Mean [s] Min [s] Max [s] Relative
base math_cmp_and_pow_integration_benchmark 1.711 ± 0.059 1.687 1.878 1.01 ± 0.04
head math_cmp_and_pow_integration_benchmark 1.697 ± 0.008 1.685 1.715 1.00
Command Mean [s] Min [s] Max [s] Relative
base math_integration_benchmark 1.598 ± 0.005 1.592 1.608 1.00
head math_integration_benchmark 1.612 ± 0.016 1.596 1.655 1.01 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base memory_integration_benchmark 1.203 ± 0.007 1.194 1.214 1.00
head memory_integration_benchmark 1.209 ± 0.008 1.198 1.228 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base operations_with_data_structures_benchmarks 1.836 ± 0.006 1.822 1.845 1.00 ± 0.01
head operations_with_data_structures_benchmarks 1.834 ± 0.009 1.819 1.851 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base pedersen 515.7 ± 1.5 514.1 518.0 1.00
head pedersen 518.2 ± 3.1 515.2 525.2 1.00 ± 0.01
Command Mean [ms] Min [ms] Max [ms] Relative
base poseidon_integration_benchmark 968.8 ± 4.7 960.1 976.8 1.00 ± 0.01
head poseidon_integration_benchmark 964.5 ± 3.2 958.9 967.8 1.00
Command Mean [s] Min [s] Max [s] Relative
base secp_integration_benchmark 1.888 ± 0.035 1.865 1.985 1.00 ± 0.03
head secp_integration_benchmark 1.886 ± 0.042 1.862 2.005 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
base set_integration_benchmark 643.6 ± 5.6 638.6 658.4 1.00
head set_integration_benchmark 645.4 ± 7.1 638.5 664.7 1.00 ± 0.01
Command Mean [s] Min [s] Max [s] Relative
base uint256_integration_benchmark 4.303 ± 0.102 4.219 4.527 1.00
head uint256_integration_benchmark 4.305 ± 0.031 4.236 4.341 1.00 ± 0.02