fix: Count array copies for slice functions#8867
Conversation
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: e6d50b1 | Previous: 6f1b46f | Ratio |
|---|---|---|---|
rollup-merge |
0.004 s |
0.003 s |
1.33 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: e6d50b1 | Previous: 6f1b46f | Ratio |
|---|---|---|---|
test_report_noir-lang_noir_bigcurve_ |
317 s |
228 s |
1.39 |
test_report_zkpassport_noir_rsa_ |
1 s |
0 s |
+∞ |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
I haven't investigated deeply but I think the fuzz failure in https://github.com/noir-lang/noir/actions/runs/15566297609/job/43880648547?pr=8867 is most likely the same as #8866. We expect an overflow and for the later constrain to be triggered, but the constant does not fit in our SSA interpreter type. |
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: interpret all execution_success programs (noir-lang/noir#8887) fix: always error if integer literal doesn't fit its type on the fron… (noir-lang/noir#8885) fix: Count array copies for slice functions (noir-lang/noir#8867) chore(ssa): Simplify truncate when the bit size we are truncating to is greater than the value's max bit size (noir-lang/noir#8875) fix(ssa): Validate field to integer cast (noir-lang/noir#8799) feat: SSA interpreter checks return value (noir-lang/noir#8883) chore: add return value to every execution_success program that produces an output (noir-lang/noir#8882) chore(fuzz): Run fuzzing deterministically on CI (noir-lang/noir#8868) fix: (SSA interpreter) check requires_acir_gen_predicate for enable_side_effects (noir-lang/noir#8869) feat: allow printing each SSA interpreter definition (noir-lang/noir#8865) fix: handle unconditional break during SSA codegen in all cases (noir-lang/noir#8855) fix: update external lib commit tdd.nr (noir-lang/noir#8823) chore: bump dependencies (noir-lang/noir#8838) chore(fuzz): Enable SSA Interpreter fuzzing on all passes (noir-lang/noir#8610) chore: Prune changelog older than ~1 year (<0.32.0) (noir-lang/noir#8856) chore(docs): Add links to awesome-noir in sidebar (noir-lang/noir#8854) chore: add a regression test for #8727 (noir-lang/noir#8851) chore(fuzz): Handle overflows in comptime fuzzing (noir-lang/noir#8847) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com>
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: interpret all execution_success programs (noir-lang/noir#8887) fix: always error if integer literal doesn't fit its type on the fron… (noir-lang/noir#8885) fix: Count array copies for slice functions (noir-lang/noir#8867) chore(ssa): Simplify truncate when the bit size we are truncating to is greater than the value's max bit size (noir-lang/noir#8875) fix(ssa): Validate field to integer cast (noir-lang/noir#8799) feat: SSA interpreter checks return value (noir-lang/noir#8883) chore: add return value to every execution_success program that produces an output (noir-lang/noir#8882) chore(fuzz): Run fuzzing deterministically on CI (noir-lang/noir#8868) fix: (SSA interpreter) check requires_acir_gen_predicate for enable_side_effects (noir-lang/noir#8869) feat: allow printing each SSA interpreter definition (noir-lang/noir#8865) fix: handle unconditional break during SSA codegen in all cases (noir-lang/noir#8855) fix: update external lib commit tdd.nr (noir-lang/noir#8823) chore: bump dependencies (noir-lang/noir#8838) chore(fuzz): Enable SSA Interpreter fuzzing on all passes (noir-lang/noir#8610) chore: Prune changelog older than ~1 year (<0.32.0) (noir-lang/noir#8856) chore(docs): Add links to awesome-noir in sidebar (noir-lang/noir#8854) chore: add a regression test for #8727 (noir-lang/noir#8851) chore(fuzz): Handle overflows in comptime fuzzing (noir-lang/noir#8847) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com>
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: interpret all execution_success programs (noir-lang/noir#8887) fix: always error if integer literal doesn't fit its type on the fron… (noir-lang/noir#8885) fix: Count array copies for slice functions (noir-lang/noir#8867) chore(ssa): Simplify truncate when the bit size we are truncating to is greater than the value's max bit size (noir-lang/noir#8875) fix(ssa): Validate field to integer cast (noir-lang/noir#8799) feat: SSA interpreter checks return value (noir-lang/noir#8883) chore: add return value to every execution_success program that produces an output (noir-lang/noir#8882) chore(fuzz): Run fuzzing deterministically on CI (noir-lang/noir#8868) fix: (SSA interpreter) check requires_acir_gen_predicate for enable_side_effects (noir-lang/noir#8869) feat: allow printing each SSA interpreter definition (noir-lang/noir#8865) fix: handle unconditional break during SSA codegen in all cases (noir-lang/noir#8855) fix: update external lib commit tdd.nr (noir-lang/noir#8823) chore: bump dependencies (noir-lang/noir#8838) chore(fuzz): Enable SSA Interpreter fuzzing on all passes (noir-lang/noir#8610) chore: Prune changelog older than ~1 year (<0.32.0) (noir-lang/noir#8856) chore(docs): Add links to awesome-noir in sidebar (noir-lang/noir#8854) chore: add a regression test for AztecProtocol#8727 (noir-lang/noir#8851) chore(fuzz): Handle overflows in comptime fuzzing (noir-lang/noir#8847) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com>
Description
Problem*
Summary*
--count-array-copieswasn't counting slice copies made from slice functions like.push_back,.push_front, or.insert.Additional Context
I've also added
--count-array-copiesto the force recompile flags since if there's a cached program otherwise nothing will be printed.I'd also like to get
--count-array-copiestested by CI automatically. We handle stdout output currently but don't pass this flag so I couldn't add a regression test for the slice copy code. This should be a separate PR though.Documentation*
Check one:
PR Checklist*
cargo fmton default settings.