Closed fmoletta closed 10 months ago
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: No coverage uploaded for pull request base (
releases/0.8.x@3e38d9e
). Click here to learn what that means.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
The CHANGELOG needs updating I think.
Benchmark results (v0.8.3 vs branch with projective points):
Running ../cairo_programs/benchmarks/big_factorial.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_factorial.json
Time (mean ± σ): 1.961 s ± 0.009 s [User: 1.824 s, System: 0.136 s]
Range (min … max): 1.946 s … 1.972 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_factorial.json
Time (mean ± σ): 1.881 s ± 0.011 s [User: 1.735 s, System: 0.145 s]
Range (min … max): 1.868 s … 1.898 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_factorial.json ran
1.04 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_factorial.json
Running ../cairo_programs/benchmarks/big_fibonacci.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_fibonacci.json
Time (mean ± σ): 1.712 s ± 0.046 s [User: 1.566 s, System: 0.145 s]
Range (min … max): 1.686 s … 1.842 s 10 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_fibonacci.json
Time (mean ± σ): 1.628 s ± 0.012 s [User: 1.476 s, System: 0.150 s]
Range (min … max): 1.607 s … 1.648 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_fibonacci.json ran
1.05 ± 0.03 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/big_fibonacci.json
Running ../cairo_programs/benchmarks/blake2s_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/blake2s_integration_benchmark.json
Time (mean ± σ): 5.722 s ± 0.025 s [User: 5.386 s, System: 0.332 s]
Range (min … max): 5.666 s … 5.748 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/blake2s_integration_benchmark.json
Time (mean ± σ): 5.444 s ± 0.030 s [User: 5.091 s, System: 0.350 s]
Range (min … max): 5.403 s … 5.511 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/blake2s_integration_benchmark.json ran
1.05 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/blake2s_integration_benchmark.json
Running ../cairo_programs/benchmarks/compare_arrays_200000.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/compare_arrays_200000.json
Time (mean ± σ): 1.899 s ± 0.007 s [User: 1.744 s, System: 0.153 s]
Range (min … max): 1.884 s … 1.909 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/compare_arrays_200000.json
Time (mean ± σ): 1.861 s ± 0.029 s [User: 1.705 s, System: 0.155 s]
Range (min … max): 1.839 s … 1.915 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/compare_arrays_200000.json ran
1.02 ± 0.02 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/compare_arrays_200000.json
Running ../cairo_programs/benchmarks/dict_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/dict_integration_benchmark.json
Time (mean ± σ): 1.269 s ± 0.003 s [User: 1.182 s, System: 0.086 s]
Range (min … max): 1.265 s … 1.273 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/dict_integration_benchmark.json
Time (mean ± σ): 1.261 s ± 0.003 s [User: 1.165 s, System: 0.096 s]
Range (min … max): 1.257 s … 1.265 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/dict_integration_benchmark.json ran
1.01 ± 0.00 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/dict_integration_benchmark.json
Running ../cairo_programs/benchmarks/factorial_multirun.json benchmark
Running ../cairo_programs/benchmarks/fibonacci_1000_multirun.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/fibonacci_1000_multirun.json
Time (mean ± σ): 1.672 s ± 0.007 s [User: 1.531 s, System: 0.140 s]
Range (min … max): 1.662 s … 1.685 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/fibonacci_1000_multirun.json
Time (mean ± σ): 1.602 s ± 0.009 s [User: 1.469 s, System: 0.132 s]
Range (min … max): 1.591 s … 1.617 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/fibonacci_1000_multirun.json ran
1.04 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/fibonacci_1000_multirun.json
Running ../cairo_programs/benchmarks/field_arithmetic_get_square_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/field_arithmetic_get_square_benchmark.json
Time (mean ± σ): 934.3 ms ± 4.2 ms [User: 883.4 ms, System: 50.0 ms]
Range (min … max): 928.5 ms … 940.4 ms 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/field_arithmetic_get_square_benchmark.json
Time (mean ± σ): 885.5 ms ± 7.3 ms [User: 842.4 ms, System: 42.3 ms]
Range (min … max): 873.6 ms … 896.4 ms 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/field_arithmetic_get_square_benchmark.json ran
1.06 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/field_arithmetic_get_square_benchmark.json
Running ../cairo_programs/benchmarks/integration_builtins.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/integration_builtins.json
Time (mean ± σ): 5.235 s ± 0.054 s [User: 4.921 s, System: 0.310 s]
Range (min … max): 5.173 s … 5.353 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/integration_builtins.json
Time (mean ± σ): 4.854 s ± 0.060 s [User: 4.531 s, System: 0.319 s]
Range (min … max): 4.770 s … 4.934 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/integration_builtins.json ran
1.08 ± 0.02 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/integration_builtins.json
Running ../cairo_programs/benchmarks/keccak_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/keccak_integration_benchmark.json
Time (mean ± σ): 5.901 s ± 0.050 s [User: 5.531 s, System: 0.366 s]
Range (min … max): 5.833 s … 5.999 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/keccak_integration_benchmark.json
Time (mean ± σ): 5.506 s ± 0.059 s [User: 5.150 s, System: 0.352 s]
Range (min … max): 5.461 s … 5.663 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/keccak_integration_benchmark.json ran
1.07 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/keccak_integration_benchmark.json
Running ../cairo_programs/benchmarks/linear_search.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/linear_search.json
Time (mean ± σ): 1.879 s ± 0.033 s [User: 1.721 s, System: 0.156 s]
Range (min … max): 1.864 s … 1.971 s 10 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/linear_search.json
Time (mean ± σ): 1.849 s ± 0.008 s [User: 1.693 s, System: 0.154 s]
Range (min … max): 1.841 s … 1.868 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/linear_search.json ran
1.02 ± 0.02 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/linear_search.json
Running ../cairo_programs/benchmarks/math_cmp_and_pow_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_cmp_and_pow_integration_benchmark.json
Time (mean ± σ): 1.261 s ± 0.002 s [User: 1.145 s, System: 0.115 s]
Range (min … max): 1.258 s … 1.264 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_cmp_and_pow_integration_benchmark.json
Time (mean ± σ): 1.234 s ± 0.003 s [User: 1.108 s, System: 0.125 s]
Range (min … max): 1.230 s … 1.240 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_cmp_and_pow_integration_benchmark.json ran
1.02 ± 0.00 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_cmp_and_pow_integration_benchmark.json
Running ../cairo_programs/benchmarks/math_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_integration_benchmark.json
Time (mean ± σ): 1.196 s ± 0.006 s [User: 1.097 s, System: 0.097 s]
Range (min … max): 1.191 s … 1.205 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_integration_benchmark.json
Time (mean ± σ): 1.193 s ± 0.005 s [User: 1.098 s, System: 0.094 s]
Range (min … max): 1.187 s … 1.205 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_integration_benchmark.json ran
1.00 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/math_integration_benchmark.json
Running ../cairo_programs/benchmarks/memory_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/memory_integration_benchmark.json
Time (mean ± σ): 1.071 s ± 0.001 s [User: 0.980 s, System: 0.090 s]
Range (min … max): 1.069 s … 1.073 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/memory_integration_benchmark.json
Time (mean ± σ): 1.041 s ± 0.005 s [User: 0.952 s, System: 0.088 s]
Range (min … max): 1.037 s … 1.055 s 10 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/memory_integration_benchmark.json ran
1.03 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/memory_integration_benchmark.json
Running ../cairo_programs/benchmarks/operations_with_data_structures_benchmarks.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/operations_with_data_structures_benchmarks.json
Time (mean ± σ): 1.197 s ± 0.012 s [User: 1.104 s, System: 0.091 s]
Range (min … max): 1.165 s … 1.206 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/operations_with_data_structures_benchmarks.json
Time (mean ± σ): 1.196 s ± 0.025 s [User: 1.095 s, System: 0.100 s]
Range (min … max): 1.180 s … 1.267 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/operations_with_data_structures_benchmarks.json ran
1.00 ± 0.02 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/operations_with_data_structures_benchmarks.json
Running ../cairo_programs/benchmarks/pedersen.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/pedersen.json
Time (mean ± σ): 420.9 ms ± 2.4 ms [User: 401.1 ms, System: 19.3 ms]
Range (min … max): 417.5 ms … 423.1 ms 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/pedersen.json
Time (mean ± σ): 414.4 ms ± 1.4 ms [User: 394.6 ms, System: 19.3 ms]
Range (min … max): 412.8 ms … 417.5 ms 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/pedersen.json ran
1.02 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/pedersen.json
Running ../cairo_programs/benchmarks/poseidon_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/poseidon_integration_benchmark.json
Time (mean ± σ): 809.6 ms ± 2.3 ms [User: 777.6 ms, System: 31.3 ms]
Range (min … max): 806.4 ms … 812.8 ms 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/poseidon_integration_benchmark.json
Time (mean ± σ): 800.0 ms ± 2.3 ms [User: 766.4 ms, System: 33.0 ms]
Range (min … max): 796.6 ms … 803.9 ms 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/poseidon_integration_benchmark.json ran
1.01 ± 0.00 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/poseidon_integration_benchmark.json
Running ../cairo_programs/benchmarks/secp_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/secp_integration_benchmark.json
Time (mean ± σ): 1.514 s ± 0.004 s [User: 1.447 s, System: 0.066 s]
Range (min … max): 1.508 s … 1.522 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/secp_integration_benchmark.json
Time (mean ± σ): 1.461 s ± 0.005 s [User: 1.393 s, System: 0.067 s]
Range (min … max): 1.453 s … 1.469 s 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/secp_integration_benchmark.json ran
1.04 ± 0.00 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/secp_integration_benchmark.json
Running ../cairo_programs/benchmarks/set_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/set_integration_benchmark.json
Time (mean ± σ): 837.5 ms ± 4.9 ms [User: 805.8 ms, System: 31.0 ms]
Range (min … max): 831.8 ms … 845.5 ms 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/set_integration_benchmark.json
Time (mean ± σ): 824.6 ms ± 8.2 ms [User: 794.9 ms, System: 29.0 ms]
Range (min … max): 815.0 ms … 844.0 ms 10 runs
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/set_integration_benchmark.json ran
1.02 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/set_integration_benchmark.json
Running ../cairo_programs/benchmarks/uint256_integration_benchmark.json benchmark
Benchmark 1: ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/uint256_integration_benchmark.json
Time (mean ± σ): 3.505 s ± 0.023 s [User: 3.297 s, System: 0.204 s]
Range (min … max): 3.478 s … 3.557 s 10 runs
Benchmark 2: ./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/uint256_integration_benchmark.json
Time (mean ± σ): 3.324 s ± 0.026 s [User: 3.111 s, System: 0.210 s]
Range (min … max): 3.309 s … 3.395 s 10 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
./0.8.3_pp --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/uint256_integration_benchmark.json ran
1.05 ± 0.01 times faster than ./0.8.3 --proof_mode --memory_file /dev/null --trace_file /dev/null --layout starknet_with_keccak ../cairo_programs/benchmarks/uint256_integration_benchmark.json
TITLE
Description
Description of the pull request changes and motivation.
Checklist