Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update quicksort from iterative noir_sort version #7348

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

michaeljklein
Copy link
Contributor

Description

Problem*

Resolves #7213

Summary*

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

Copy link
Contributor

github-actions bot commented Feb 11, 2025

Changes to Brillig bytecode sizes

Generated at commit: 9c4cb3235862412a0aa9c9ffe5fa5e984f713cd4, compared to commit: 826b18a10630471c19c25ab745f9bfe045813e69

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
array_sort_inliner_max +150 ❌ +52.08%
array_sort_inliner_zero +150 ❌ +52.08%

Full diff report 👇
Program Brillig opcodes (+/-) %
array_sort_inliner_max 438 (+150) +52.08%
array_sort_inliner_zero 438 (+150) +52.08%
array_sort_inliner_min 508 (+160) +45.98%
uhashmap_inliner_max 12,461 (+1,002) +8.74%
hashmap_inliner_max 20,748 (+1,057) +5.37%
uhashmap_inliner_min 7,544 (+169) +2.29%
uhashmap_inliner_zero 6,901 (+151) +2.24%
hashmap_inliner_zero 7,667 (+151) +2.01%
hashmap_inliner_min 9,364 (+169) +1.84%

Copy link
Contributor

github-actions bot commented Feb 11, 2025

Changes to number of Brillig opcodes executed

Generated at commit: 9c4cb3235862412a0aa9c9ffe5fa5e984f713cd4, compared to commit: 826b18a10630471c19c25ab745f9bfe045813e69

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
array_sort_inliner_max +379 ❌ +73.88%
array_sort_inliner_zero +379 ❌ +73.88%

Full diff report 👇
Program Brillig opcodes (+/-) %
array_sort_inliner_max 892 (+379) +73.88%
array_sort_inliner_zero 892 (+379) +73.88%
array_sort_inliner_min 1,062 (+394) +58.98%
hashmap_inliner_max 50,222 (+2,019) +4.19%
hashmap_inliner_zero 74,575 (+2,200) +3.04%
hashmap_inliner_min 89,145 (+2,274) +2.62%
uhashmap_inliner_max 130,491 (+2,027) +1.58%
uhashmap_inliner_zero 165,464 (+2,208) +1.35%
uhashmap_inliner_min 185,172 (+2,274) +1.24%

@michaeljklein
Copy link
Contributor Author

Note: currently blocked by #7372

michaeljklein and others added 8 commits February 13, 2025 19:59
* master: (74 commits)
  feat: optimize out range checks on limiting cases (#7510)
  chore: clippy fixes (#7505)
  chore(docs): Supplement docs on `modexp` as a required precompile for Barretenberg's Solidity verifier (#7508)
  feat(debugger): REPL add breakpoint by sourcecode line (#5204)
  fix: issue duplicate error on impl function without self (#7490)
  feat(experimental): Support struct constructors in match patterns (#7489)
  feat: use resolved type instead of needing Constructor.struct_type (#7500)
  feat: better error message when keyword is found instead of type in p… (#7501)
  chore: bump external pinned commits (#7497)
  feat(experimental): Add invalid pattern syntax error (#7487)
  fix(performance): Accurately mark safe constant indices for arrays of complex types (#7491)
  fix(experimental): Allow shadowing in match patterns (#7484)
  chore: regression test #7195 (#7233)
  chore(docs): Section on `noir-profiler execution-opcodes` (#7480)
  chore: improve proptesting of 128bit values in `noirc_abi` (#7485)
  chore(profiler): Use brillig names for outputted flamegraphs  (#7470)
  chore(docs): Profiler images reference (#7481)
  fix: don't use dummy location when inserting debug code (#7482)
  feat(cli)!: Add `--unstable-features` to gate unstable features (#7449)
  feat: Sync from aztec-packages (#7474)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants