-
Notifications
You must be signed in to change notification settings - Fork 449
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
feat: Nat.decidableBallLT
handles large numbers
#6651
base: master
Are you sure you want to change the base?
Conversation
727214a
to
d53c45e
Compare
Mathlib CI status (docs):
|
d39c120
to
1607174
Compare
How far does it get after these changes? |
!bench |
This seems to be close to the limit:
|
Here are the benchmark results for commit 1607174. Benchmark Metric Change
==================================================================
- big_omega.lean branch-misses 4.0% (29.1 σ)
- big_omega.lean MT branch-misses 6.3% (27.7 σ)
- bv_decide_inequality.lean branch-misses 1.2% (16.8 σ)
- bv_decide_realworld branch-misses 1.4% (11.4 σ)
- simp_arith1 branch-misses 2.7% (28.8 σ)
- stdlib fix level params 1.5% (30.7 σ)
- stdlib instantiate metavars 6.4% (25.6 σ) |
The benchmark results are not encouraging. Would you mind opening a Mathlib PR (using the lean-pr-testing-6651 branch, and targeting the |
|
Wow, is that for real?! I'm confused how a 10% wall-clock improvement is possible while not touching the instruction count. |
Looks like a fluke to me, I usually don't trust wall-time measurements. |
I think it's more that the base commit was 10% slower than usual for some reason (some kind of noise). I'm not sure how to re-run the base commit. |
IIUC none of the benchmarks flagged in #6651 (comment) use this instance FWIW performance-wise there is a slight heartbeats overhead (something like 20) for values of |
This PR enables the following:
where currently, the following already causes "maximum recursion depth has been reached":
This PR also prevents a stack overflow in: