Skip to content

perf: derive array capacity from mi_usable_size - #14979

Draft
TwoFX wants to merge 1 commit into
leanprover:masterfrom
TwoFX:julia/usable_size
Draft

perf: derive array capacity from mi_usable_size#14979
TwoFX wants to merge 1 commit into
leanprover:masterfrom
TwoFX:julia/usable_size

Conversation

@TwoFX

@TwoFX TwoFX commented Aug 31, 2026

Copy link
Copy Markdown
Member

No description provided.

@TwoFX

TwoFX commented Aug 31, 2026

Copy link
Copy Markdown
Member Author

!radar

@leanprover-radar

leanprover-radar commented Aug 31, 2026

Copy link
Copy Markdown

Benchmark results for a221d7d against ac0f56e are in. There are significant results. @TwoFX

  • 🟥 build//instructions: +32.4G (+0.29%)

Large changes (3✅, 3🟥)

  • compiled/ilean_roundtrip//instructions: -231.8M (-1.06%)
  • compiled/ilean_roundtrip//maxrss: -28MiB (-5.40%)
  • 🟥 compiled/nat_repr//instructions: +2.4G (+7.20%)
  • 🟥 compiled/phashmap//instructions: +81.5M (+0.93%)
  • 🟥 compiled/unionfind//maxrss: +20MiB (+19.88%)
  • elab/bv_decide_mul//maxrss: -60MiB (-6.13%)

Medium changes (3✅, 3🟥)

  • 🟥 compiled/parser//instructions: +241.9M (+0.68%)
  • 🟥 compiled/qsort//instructions: +16.5M (+0.11%)
  • 🟥 elab/big_do//instructions: +87.7M (+0.48%)
  • elab/bv_decide_mul//instructions: -300.9M (-0.93%)
  • interpreted/iterators//instructions: -42.0M (-0.12%)
  • misc/leanchecker --fresh Init//maxrss: -10MiB (-1.95%)

Small changes (4✅, 102🟥)

  • 🟥 build/module/Init.Core//instructions: +33.3M (+0.34%)
  • 🟥 build/module/Init.Data.Array.Attach//instructions: +62.1M (+0.61%)
  • 🟥 build/module/Init.Data.Array.Basic//instructions: +37.3M (+0.35%)
  • 🟥 build/module/Init.Data.Array.Erase//instructions: +31.6M (+0.45%)
  • 🟥 build/module/Init.Data.Array.Find//instructions: +65.3M (+0.68%)
  • 🟥 build/module/Init.Data.Array.Lemmas//instructions: +267.4M (+0.51%)
  • 🟥 build/module/Init.Data.Array.Lex.Lemmas//instructions: +38.3M (+0.41%)
  • 🟥 build/module/Init.Data.Array.MapIdx//instructions: +42.6M (+0.49%)
  • 🟥 build/module/Init.Data.Array.Monadic//instructions: +29.4M (+0.49%)
  • 🟥 build/module/Init.Data.BitVec.Bitblast//instructions: +204.0M (+0.41%)
  • 🟥 build/module/Init.Data.BitVec.Lemmas//instructions: +460.0M (+0.40%)
  • 🟥 build/module/Init.Data.ByteArray.Lemmas//instructions: +25.1M (+0.46%)
  • 🟥 build/module/Init.Data.Fin.Lemmas//instructions: +47.2M (+0.44%)
  • 🟥 build/module/Init.Data.Int.DivMod.Lemmas//instructions: +185.3M (+0.50%)
  • 🟥 build/module/Init.Data.Int.Gcd//instructions: +23.9M (+0.54%)
  • build/module/Init.Data.Iterators.Consumers.Total//instructions: -23.0M (-2.40%)
  • 🟥 build/module/Init.Data.Iterators.Lemmas.Combinators.Append//instructions: +13.6M (+0.46%)
  • 🟥 build/module/Init.Data.Iterators.Lemmas.Combinators.FilterMap//instructions: +108.9M (+0.58%)
  • 🟥 build/module/Init.Data.Iterators.Lemmas.Combinators.FlatMap//instructions: +30.2M (+0.47%)
  • 🟥 build/module/Init.Data.Iterators.Lemmas.Combinators.Monadic.FilterMap//instructions: +162.9M (+0.46%)
  • and 86 more

@TwoFX

TwoFX commented Aug 31, 2026

Copy link
Copy Markdown
Member Author

Instructions are up 0.3%, cycles, wall-clock and task-clock are all down 0.3%

@github-actions github-actions Bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Aug 31, 2026
@leanprover-bot

Copy link
Copy Markdown
Collaborator

Reference manual CI status:

  • ❗ Reference manual CI can not be attempted yet, as the nightly-testing-2026-08-30 tag does not exist there yet. We will retry when you push more commits. If you rebase your branch onto nightly-with-manual, reference manual CI should run now. You can force reference manual CI using the force-manual-ci label. (2026-08-31 10:42:26)

@github-actions github-actions Bot added the mathlib4-nightly-available A branch for this PR exists at leanprover-community/mathlib4-nightly-testing:lean-pr-testing-NNNN label Aug 31, 2026
@mathlib-lean-pr-testing mathlib-lean-pr-testing Bot added the builds-mathlib CI has verified that Mathlib builds against this PR label Aug 31, 2026
@mathlib-lean-pr-testing

Copy link
Copy Markdown

Mathlib CI status (docs):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

builds-mathlib CI has verified that Mathlib builds against this PR mathlib4-nightly-available A branch for this PR exists at leanprover-community/mathlib4-nightly-testing:lean-pr-testing-NNNN toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants