-
Notifications
You must be signed in to change notification settings - Fork 400
refactor: mixin class for norm_smul
with strict equality
#24003
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
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: Eric Wieser <[email protected]>
Co-authored-by: Eric Wieser <[email protected]>
Let's see whether this alone has an affect on the benchmark
PR summary 0ac28ed9f4Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
!bench |
Here are the benchmark results for commit 0ac28ed. Benchmark Metric Change
===========================================================================
- ~Mathlib.Analysis.Analytic.Basic instructions 17.1%
- ~Mathlib.Analysis.Analytic.CPolynomialDef instructions 18.8%
- ~Mathlib.Analysis.Analytic.ChangeOrigin instructions 10.2%
- ~Mathlib.Analysis.Analytic.Constructions instructions 13.0%
- ~Mathlib.Analysis.Analytic.Inverse instructions 8.8%
- ~Mathlib.Analysis.Calculus.ContDiff.Basic instructions 11.4%
- ~Mathlib.Analysis.Calculus.ContDiff.Defs instructions 14.9%
- ~Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries instructions 10.6%
- ~Mathlib.Analysis.Calculus.ContDiff.FaaDiBruno instructions 9.0%
- ~Mathlib.Analysis.Calculus.ContDiff.Operations instructions 15.3%
- ~Mathlib.Analysis.Calculus.Deriv.Basic instructions 12.7%
- ~Mathlib.Analysis.Calculus.Deriv.Mul instructions 9.8%
- ~Mathlib.Analysis.Calculus.FDeriv.Analytic instructions 7.0%
- ~Mathlib.Analysis.Calculus.FDeriv.Mul instructions 3.0%
- ~Mathlib.Analysis.Convolution instructions 5.8%
- ~Mathlib.Analysis.NormedSpace.Multilinear.Basic instructions 3.9%
- ~Mathlib.Analysis.NormedSpace.Multilinear.Curry instructions 5.2%
- ~Mathlib.Analysis.NormedSpace.OperatorNorm.Bilinear instructions 6.7% |
2 files, Instructions +30.0⬝10⁹
2 files, Instructions +21.0⬝10⁹
2 files, Instructions +19.0⬝10⁹
3 files, Instructions +11.0⬝10⁹
2 files, Instructions +10.0⬝10⁹
2 files, Instructions +8.0⬝10⁹
3 files, Instructions +5.0⬝10⁹
4 files, Instructions +4.0⬝10⁹
8 files, Instructions +3.0⬝10⁹
7 files, Instructions +2.0⬝10⁹
22 files, Instructions +1.0⬝10⁹
7 files, Instructions -2.0⬝10⁹
|
I can see that certain things are slower in traces on this branch. For example
takes 1479817 mHeartbeats on master and 1866830 mHeartbeats on this branch (a 25% slowdown). Matt has suggested on the Zulip thread #mathlib4 > Normed modules @ 💬 that there are now two paths to
on this branch vs
on master. Digging further into the slow trace the only times things don't look syntactically identical is right at the end:
where Lean has made two ring structures on |
Thanks Eric for making this PR! I am going to set #23787 to draft, and this PR to non-draft, since it contains the "first stage" of what I planned for that PR. Thanks to everyone who has contributed so far to trying to diagnose the slow-downs! |
norm_smul
with strict equality (alternative)norm_smul
with strict equality
Define a typeclass for normed modules where the norm is exactly multiplicative (not just sub-multiplicative).
This is a subset of #23787, leaving out the change to
NormedSpace
.