perf(Algebra/{Group, GroupWithZero, Ring}/InjSurj): reduce everything#13795
perf(Algebra/{Group, GroupWithZero, Ring}/InjSurj): reduce everything#13795astrainfinita wants to merge 68 commits intomasterfrom
Conversation
|
!bench |
PR summary 53c4aa89de
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.Algebra.Group.InjSurj | 129 | 130 | +1 (+0.78%) |
| Mathlib.Algebra.GroupWithZero.InjSurj | 133 | 134 | +1 (+0.75%) |
| Mathlib.Algebra.Ring.InjSurj | 178 | 179 | +1 (+0.56%) |
| Mathlib.Algebra.GroupWithZero.Action.Defs | 192 | 193 | +1 (+0.52%) |
| Mathlib.Algebra.Module.Defs | 195 | 196 | +1 (+0.51%) |
| Mathlib.Algebra.GroupWithZero.Action.End | 222 | 223 | +1 (+0.45%) |
| Mathlib.Algebra.Module.RingHom | 228 | 229 | +1 (+0.44%) |
Import changes for all files
| Files | Import difference |
|---|---|
127 filesMathlib.Algebra.EuclideanDomain.Int Mathlib.Algebra.Field.Basic Mathlib.Algebra.Field.ULift Mathlib.Algebra.Group.Action.Opposite Mathlib.Algebra.Group.Action.Pointwise.Set.Basic Mathlib.Algebra.Group.Action.Prod Mathlib.Algebra.Group.Equiv.Opposite Mathlib.Algebra.Group.Even Mathlib.Algebra.Group.InjSurj Mathlib.Algebra.Group.Nat.Even Mathlib.Algebra.Group.Opposite Mathlib.Algebra.Group.Pointwise.Set.Basic Mathlib.Algebra.Group.Pointwise.Set.Lattice Mathlib.Algebra.Group.Pointwise.Set.Scalar Mathlib.Algebra.Group.Prod Mathlib.Algebra.Group.Submonoid.Basic Mathlib.Algebra.Group.Submonoid.Defs Mathlib.Algebra.Group.Submonoid.DistribMulAction Mathlib.Algebra.Group.Submonoid.MulAction Mathlib.Algebra.Group.Submonoid.MulOpposite Mathlib.Algebra.Group.Submonoid.Operations Mathlib.Algebra.Group.Subsemigroup.Basic Mathlib.Algebra.Group.Subsemigroup.Defs Mathlib.Algebra.Group.Subsemigroup.Membership Mathlib.Algebra.Group.Subsemigroup.Operations Mathlib.Algebra.Group.ULift Mathlib.Algebra.Group.Units.Opposite Mathlib.Algebra.GroupWithZero.Action.Defs Mathlib.Algebra.GroupWithZero.Action.End Mathlib.Algebra.GroupWithZero.Action.Opposite Mathlib.Algebra.GroupWithZero.Action.Prod Mathlib.Algebra.GroupWithZero.Action.Units Mathlib.Algebra.GroupWithZero.InjSurj Mathlib.Algebra.GroupWithZero.Opposite Mathlib.Algebra.GroupWithZero.Pointwise.Set.Basic Mathlib.Algebra.GroupWithZero.Prod Mathlib.Algebra.GroupWithZero.ULift Mathlib.Algebra.Module.Defs Mathlib.Algebra.Module.MinimalAxioms Mathlib.Algebra.Module.Opposite Mathlib.Algebra.Module.PUnit Mathlib.Algebra.Module.PointwisePi Mathlib.Algebra.Module.Prod Mathlib.Algebra.Module.RingHom Mathlib.Algebra.NoZeroSMulDivisors.Defs Mathlib.Algebra.NoZeroSMulDivisors.Pi Mathlib.Algebra.NoZeroSMulDivisors.Prod Mathlib.Algebra.Order.Field.InjSurj Mathlib.Algebra.Order.Field.Pointwise Mathlib.Algebra.Order.Group.Abs Mathlib.Algebra.Order.Group.Cone Mathlib.Algebra.Order.Group.Indicator Mathlib.Algebra.Order.Group.InjSurj Mathlib.Algebra.Order.Group.MinMax Mathlib.Algebra.Order.Group.Opposite Mathlib.Algebra.Order.Group.Pointwise.Bounds Mathlib.Algebra.Order.Group.Pointwise.CompleteLattice Mathlib.Algebra.Order.Group.PosPart Mathlib.Algebra.Order.Group.Prod Mathlib.Algebra.Order.Group.Unbundled.Abs Mathlib.Algebra.Order.Group.Unbundled.Int Mathlib.Algebra.Order.GroupWithZero.Submonoid Mathlib.Algebra.Order.Interval.Set.Group Mathlib.Algebra.Order.Interval.Set.Instances Mathlib.Algebra.Order.Kleene Mathlib.Algebra.Order.Monoid.Basic Mathlib.Algebra.Order.Monoid.Prod Mathlib.Algebra.Order.Monoid.Submonoid Mathlib.Algebra.Order.Pi Mathlib.Algebra.Order.Positive.Field Mathlib.Algebra.Order.Positive.Ring Mathlib.Algebra.Order.Ring.InjSurj Mathlib.Algebra.Order.Ring.Opposite Mathlib.Algebra.Order.Ring.Prod Mathlib.Algebra.Order.Sub.Basic Mathlib.Algebra.Regular.SMul Mathlib.Algebra.Ring.Action.Basic Mathlib.Algebra.Ring.Action.Field Mathlib.Algebra.Ring.Action.Pointwise.Set Mathlib.Algebra.Ring.Action.Rat Mathlib.Algebra.Ring.Commute Mathlib.Algebra.Ring.CompTypeclasses Mathlib.Algebra.Ring.Equiv Mathlib.Algebra.Ring.InjSurj Mathlib.Algebra.Ring.Int.Units Mathlib.Algebra.Ring.Opposite Mathlib.Algebra.Ring.Pi Mathlib.Algebra.Ring.Pointwise.Set Mathlib.Algebra.Ring.Prod Mathlib.Algebra.Ring.Submonoid Mathlib.Algebra.Ring.Subsemiring.Defs Mathlib.Algebra.Ring.Subsemiring.Order Mathlib.Algebra.Ring.ULift Mathlib.Algebra.Ring.Units Mathlib.Algebra.Tropical.Basic Mathlib.Algebra.Tropical.Lattice Mathlib.Data.Int.Cast.Prod Mathlib.Data.Nat.Cast.Commute Mathlib.Data.Nat.Cast.Prod Mathlib.GroupTheory.Congruence.Basic Mathlib.GroupTheory.Congruence.Defs Mathlib.GroupTheory.Congruence.Hom Mathlib.GroupTheory.Congruence.Opposite Mathlib.GroupTheory.GroupAction.DomAct.ActionHom Mathlib.GroupTheory.GroupAction.DomAct.Basic Mathlib.GroupTheory.GroupAction.Embedding Mathlib.GroupTheory.GroupAction.Hom Mathlib.GroupTheory.GroupAction.Pointwise Mathlib.GroupTheory.GroupAction.Ring Mathlib.GroupTheory.GroupAction.Support Mathlib.GroupTheory.OreLocalization.OreSet Mathlib.GroupTheory.Submonoid.Center Mathlib.GroupTheory.Submonoid.Centralizer Mathlib.GroupTheory.Subsemigroup.Center Mathlib.GroupTheory.Subsemigroup.Centralizer Mathlib.Order.Filter.AtTopBot.Field Mathlib.Order.Filter.AtTopBot.Group Mathlib.Order.Filter.AtTopBot.Ring Mathlib.RingTheory.Congruence.Basic Mathlib.RingTheory.Congruence.Defs Mathlib.RingTheory.Congruence.Opposite Mathlib.RingTheory.NonUnitalSubsemiring.Defs Mathlib.RingTheory.OreLocalization.OreSet Mathlib.RingTheory.RingInvo Mathlib.Tactic.CancelDenoms.Core Mathlib.Tactic.Monotonicity.Lemmas Mathlib.Tactic.Monotonicity |
1 |
Declarations diff
+ intCast
+ natCast
You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for script/declarations_diff.sh contains some details about this script.
No changes to technical debt.
You can run this locally as
./scripts/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
|
Here are the benchmark results for commit 47da663. |
|
!bench |
This comment was marked as outdated.
This comment was marked as outdated.
|
!bench |
This comment was marked as outdated.
This comment was marked as outdated.
|
General information: 11 files got slower by at least 10⁹ instructions1 file got slower by at least 10%: 196 files got faster by at least 10⁹ instructions45 files got faster by at least 10% |
|
!bench |
This comment was marked as outdated.
This comment was marked as outdated.
|
General information: 11 files got slower by at least 10⁹ instructions1 file got slower by at least 10%: 196 files got faster by at least 10⁹ instructions44 files got faster by at least 10% |
|
Sorry, hit the wrong button. |
|
This PR/issue depends on: |
|
!bench |
|
Here are the benchmark results for commit 7d95b56. Benchmark Metric Change
==============================================================================================
+ build type checking -5.6%
+ ~Mathlib.Algebra.Category.Ring.Limits instructions -17.7%
+ ~Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances instructions -7.4%
+ ~Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Restrict instructions -21.4%
+ ~Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique instructions -6.8%
+ ~Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries instructions -4.3%
+ ~Mathlib.Analysis.Fourier.FourierTransformDeriv instructions -3.7%
+ ~Mathlib.Analysis.NormedSpace.Multilinear.Curry instructions -7.2%
+ ~Mathlib.FieldTheory.Galois.Profinite instructions -9.2%
+ ~Mathlib.FieldTheory.LinearDisjoint instructions -7.0%
+ ~Mathlib.RingTheory.Valuation.ValuationSubring instructions -12.4%
+ ~Mathlib.RingTheory.WittVector.Isocrystal instructions -17.5% |
2 files, Instructions +1.0⬝10⁹
78 files, Instructions -2.0⬝10⁹
28 files, Instructions -3.0⬝10⁹
21 files, Instructions -4.0⬝10⁹
9 files, Instructions -5.0⬝10⁹
9 files, Instructions -6.0⬝10⁹
5 files, Instructions -7.0⬝10⁹
3 files, Instructions -9.0⬝10⁹
3 files, Instructions -10.0⬝10⁹
2 files, Instructions -12.0⬝10⁹
3 files, Instructions -13.0⬝10⁹
|
|
!bench |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This reverts commit fd407eb.
|
This pull request has conflicts, please merge |
|
I would guess that |
|
Since they are trying to solve the same problem, using |
to_additive (attr := reducible)->abbrev#15476