Skip to content

WIP: Experiment (outParam): Generalize type of step indices with metaprogramming and typeclasses and outParam - #627

Draft
MackieLoeffel wants to merge 56 commits into
masterfrom
sidx-outparam
Draft

WIP: Experiment (outParam): Generalize type of step indices with metaprogramming and typeclasses and outParam#627
MackieLoeffel wants to merge 56 commits into
masterfrom
sidx-outparam

Conversation

@MackieLoeffel

Copy link
Copy Markdown
Collaborator

Description

This is an experiment for a version of #576 using outParam to see the performance impact.

THIS IS SHOULD NOT BE MERGED!

alvinylt added 30 commits July 28, 2026 11:51
Replace all proofs in section `Fixpoint`, all requires rewrite
Parametrisation of `CMRA` to be done in a future PR
@MackieLoeffel

Copy link
Copy Markdown
Collaborator Author

!bench

@MackieLoeffel
MackieLoeffel marked this pull request as draft August 13, 2026 11:06
@leanprover-radar

leanprover-radar commented Aug 13, 2026

Copy link
Copy Markdown

Benchmark results for 333efaa against a5f3796 are in. There are significant results. @MackieLoeffel

  • 🟥 build//instructions: +131.2G (+7.49%)

Large changes (1🟥)

  • 1 hidden

Medium changes (21🟥)

  • 🟥 build/module/Iris.Algebra.Agree//instructions: +1.6G (+22.86%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Auth//instructions: +1.1G (+16.55%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.BigOp//instructions: +1.2G (+11.31%)
  • 🟥 build/module/Iris.Algebra.CMRA//instructions: +2.7G (+13.71%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.COFESolver//instructions: +3.9G (+32.71%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Csum//instructions: +2.4G (+12.28%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.DFrac//instructions: +1.1G (+7.21%)
  • 🟥 build/module/Iris.Algebra.DynReservationMap//instructions: +1.1G (+12.60%)
  • 🟥 build/module/Iris.Algebra.Excl//instructions: +1.3G (+37.53%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.GenMap//instructions: +1.5G (+18.70%)
  • 🟥 build/module/Iris.Algebra.Heap//instructions: +2.4G (+19.36%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.HeapView//instructions: +1.5G (+8.80%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.IProp//instructions: +1.6G (+55.63%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.List//instructions: +1.5G (+31.30%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.ReservationMap//instructions: +1.1G (+15.35%)
  • 🟥 build/module/Iris.Algebra.UPred//instructions: +1.0G (+43.24%)
  • 🟥 build/module/Iris.Algebra.View//instructions: +2.2G (+10.18%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.BI.MonPred//instructions: +1.1G (+7.56%)
  • 🟥 build/module/Iris.Examples.Fix//instructions: +2.2G (+58.35%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Instances.IProp.Instance//instructions: +1.6G (+9.97%) (reduced significance based on absolute threshold)
  • and 1 more

Small changes (149🟥)

  • 🟥 build/module/Iris.Algebra.Frac//instructions: +899.7M (+20.58%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Functions//instructions: +944.4M (+40.63%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.IsOp//instructions: +833.7M (+60.59%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.LeibnizSet//instructions: +884.6M (+14.74%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.DFracAgree//instructions: +946.0M (+42.66%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.ExclAuth//instructions: +908.6M (+36.52%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.FracAuth//instructions: +877.3M (+16.24%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.MonoNat//instructions: +841.3M (+24.28%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.UFracAuth//instructions: +880.8M (+19.17%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib//instructions: +731.8M (+61.03%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.LocalUpdates//instructions: +927.8M (+26.87%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Monoid//instructions: +866.6M (+64.93%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Mra//instructions: +861.4M (+42.10%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Numbers//instructions: +853.4M (+16.27%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.OFE//instructions: +12.7G (+69.26%) (reduced significance based on *//lines)
  • 🟥 build/module/Iris.Algebra.StepIndex//instructions: +2.5G (+88.47%) (reduced significance based on *//lines)
  • 🟥 build/module/Iris.Algebra.UFrac//instructions: +866.1M (+33.07%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Updates//instructions: +863.4M (+26.24%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra//instructions: +747.9M (+62.89%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.BI.Algebra//instructions: +575.6M (+9.66%)
  • and 129 more

@MackieLoeffel

Copy link
Copy Markdown
Collaborator Author

!bench

@leanprover-radar

leanprover-radar commented Aug 13, 2026

Copy link
Copy Markdown

Benchmark results for 83591a7 against a5f3796 are in. There are significant results. @MackieLoeffel

  • 🟥 build//instructions: +139.9G (+7.99%)

Large changes (1🟥)

  • 1 hidden

Medium changes (25🟥)

  • 🟥 build/module/Iris.Algebra.Agree//instructions: +1.7G (+24.44%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Auth//instructions: +1.3G (+18.50%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.BigOp//instructions: +1.2G (+12.00%)
  • 🟥 build/module/Iris.Algebra.CMRA//instructions: +2.8G (+13.95%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.COFESolver//instructions: +3.9G (+33.26%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Csum//instructions: +2.5G (+12.86%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.DFrac//instructions: +1.2G (+7.56%)
  • 🟥 build/module/Iris.Algebra.DynReservationMap//instructions: +1.1G (+13.40%)
  • 🟥 build/module/Iris.Algebra.Excl//instructions: +1.4G (+39.65%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.GenMap//instructions: +1.6G (+20.21%)
  • 🟥 build/module/Iris.Algebra.Heap//instructions: +2.6G (+20.50%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.HeapView//instructions: +1.7G (+10.34%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.IProp//instructions: +1.7G (+59.41%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.List//instructions: +1.5G (+32.11%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.ReservationMap//instructions: +1.2G (+16.49%)
  • 🟥 build/module/Iris.Algebra.UPred//instructions: +1.1G (+45.34%)
  • 🟥 build/module/Iris.Algebra.View//instructions: +2.4G (+11.05%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.BI.InternalEq//instructions: +1.1G (+17.12%)
  • 🟥 build/module/Iris.BI.MonPred//instructions: +1.3G (+9.00%)
  • 🟥 build/module/Iris.Examples.Fix//instructions: +3.2G (+82.80%) (reduced significance based on absolute threshold)
  • and 5 more

Small changes (144🟥)

  • 🟥 build/module/Iris.Algebra.Frac//instructions: +915.7M (+20.95%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Functions//instructions: +963.4M (+41.45%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.IsOp//instructions: +839.7M (+61.03%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.LeibnizSet//instructions: +898.4M (+14.97%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.DFracAgree//instructions: +976.0M (+44.00%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.ExclAuth//instructions: +950.1M (+38.19%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.FracAuth//instructions: +925.9M (+17.13%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.MonoNat//instructions: +881.6M (+25.45%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib.UFracAuth//instructions: +946.6M (+20.60%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Lib//instructions: +735.9M (+61.37%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.LocalUpdates//instructions: +941.4M (+27.27%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Monoid//instructions: +873.4M (+65.44%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Mra//instructions: +880.7M (+43.04%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Numbers//instructions: +897.4M (+17.11%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.OFE//instructions: +12.7G (+69.24%) (reduced significance based on *//lines)
  • 🟥 build/module/Iris.Algebra.StepIndex//instructions: +3.1G (+107.61%) (reduced significance based on *//lines)
  • 🟥 build/module/Iris.Algebra.UFrac//instructions: +882.5M (+33.70%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra.Updates//instructions: +879.2M (+26.72%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.Algebra//instructions: +748.7M (+62.95%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Iris.BI.Algebra//instructions: +622.7M (+10.45%)
  • and 124 more

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants