-
Notifications
You must be signed in to change notification settings - Fork 647
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
Evarconv: save keys #19611
base: master
Are you sure you want to change the base?
Evarconv: save keys #19611
Conversation
@coqbot run full ci |
started a bench manually to have the mathcomp overlay |
FYI, I started porting lemma-overloading to recent versions of Coq and MathComp. I think this is a good stress test for this PR. (I don't think I will finish it quickly though.) |
🏁 Bench results:
INFO: failed to install coq-mathcomp-odd-order (dependency coq-mathcomp-character failed) 🐢 Top 25 slow downs┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SLOW DOWNS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 0.4110 534.9490 534.5380 130057.91% 193 coq-fourcolor/theories/hypermap.v.html │ │ 0.6130 70.7650 70.1520 11444.05% 670 coq-fourcolor/theories/matte.v.html │ │ 8.0820 52.1460 44.0640 545.21% 581 coq-iris-examples/theories/logrel/F_mu_ref_conc/binary/fundamental.v.html │ │ 8.0880 52.1000 44.0120 544.16% 591 coq-iris-examples/theories/logrel/F_mu_ref_conc/binary/fundamental.v.html │ │ 7.9890 51.7230 43.7340 547.43% 580 coq-iris-examples/theories/logrel/F_mu_ref_conc/binary/fundamental.v.html │ │ 0.4160 42.2550 41.8390 10057.45% 621 coq-fourcolor/theories/matte.v.html │ │ 0.2430 3.7030 3.4600 1423.87% 1156 coq-fourcolor/theories/cfmap.v.html │ │ 62.3500 65.1640 2.8140 4.51% 609 coq-fiat-crypto-with-bedrock/rupicola/bedrock2/bedrock2/src/bedrock2Examples/lightbulb.v.html │ │ 198.3720 200.5560 2.1840 1.10% 8 coq-neural-net-interp-computed-lite/theories/MaxOfTwoNumbersSimpler/Computed/AllLogits.v.html │ │ 181.0750 182.6620 1.5870 0.88% 233 coq-fiat-crypto-with-bedrock/rupicola/bedrock2/deps/riscv-coq/src/riscv/Proofs/DecodeByExtension.v.html │ │ 120.1750 121.2370 1.0620 0.88% 22 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/ArithWithCasts.v.html │ │ 94.1270 95.0840 0.9570 1.02% 20 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/NBE.v.html │ │ 3.0240 3.9220 0.8980 29.70% 24 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/MultiRetSplit.v.html │ │ 3.0920 3.9450 0.8530 27.59% 27 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/ToFancyWithCasts.v.html │ │ 36.9020 37.7500 0.8480 2.30% 3 coq-fiat-crypto-with-bedrock/src/ExtractionJsOfOCaml/bedrock2_fiat_crypto.v.html │ │ 23.9940 24.8180 0.8240 3.43% 129 coq-fiat-crypto-with-bedrock/src/Curves/Weierstrass/Projective.v.html │ │ 0.4760 1.2870 0.8110 170.38% 330 coq-metacoq-erasure/erasure/theories/Typed/ExtractionCorrectness.v.html │ │ 0.0110 0.8140 0.8030 7300.00% 165 coq-fourcolor/theories/revsnip.v.html │ │ 36.5750 37.3540 0.7790 2.13% 139 coq-fiat-parsers/src/Parsers/Refinement/SharpenedJSON.v.html │ │ 35.5480 36.1710 0.6230 1.75% 2 coq-fiat-crypto-with-bedrock/src/ExtractionJsOfOCaml/fiat_crypto.v.html │ │ 37.2650 37.8230 0.5580 1.50% 3 coq-fiat-crypto-with-bedrock/src/ExtractionJsOfOCaml/WithBedrock/fiat_crypto.v.html │ │ 18.3720 18.8810 0.5090 2.77% 31 coq-engine-bench-lite/coq/PerformanceDemos/pattern.v.html │ │ 6.3770 6.8650 0.4880 7.65% 192 coq-vst/veric/binop_lemmas5.v.html │ │ 1.6460 2.0690 0.4230 25.70% 42 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/ToFancyWithCasts.v.html │ │ 1.0130 1.4200 0.4070 40.18% 1142 coq-stdlib/FSets/FMapAVL.v.html │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 🐇 Top 25 speed ups┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SPEED UPS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 11.2360 0.2140 -11.0220 -98.10% 2103 coq-mathcomp-ssreflect/mathcomp/ssreflect/order.v.html │ │ 4.8790 0.4880 -4.3910 -90.00% 2089 coq-mathcomp-ssreflect/mathcomp/ssreflect/order.v.html │ │ 63.6750 62.4490 -1.2260 -1.93% 609 coq-bedrock2/bedrock2/src/bedrock2Examples/lightbulb.v.html │ │ 1.1970 0.0010 -1.1960 -99.92% 3118 coq-mathcomp-algebra/mathcomp/algebra/poly.v.html │ │ 4.9420 3.8210 -1.1210 -22.68% 22 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/ArithWithCasts.v.html │ │ 1.0040 0.0070 -0.9970 -99.30% 202 coq-mathcomp-field/mathcomp/field/separable.v.html │ │ 25.6430 24.7880 -0.8550 -3.33% 345 coq-fiat-crypto-with-bedrock/src/Curves/Montgomery/XZProofs.v.html │ │ 0.8560 0.0080 -0.8480 -99.07% 1595 coq-mathcomp-solvable/mathcomp/solvable/maximal.v.html │ │ 5.0150 4.2040 -0.8110 -16.17% 1827 coq-metacoq-safechecker/safechecker/theories/PCUICSafeReduce.v.html │ │ 3.2780 2.5500 -0.7280 -22.21% 34 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/ArithWithCasts.v.html │ │ 25.4450 24.8220 -0.6230 -2.45% 12 coq-fourcolor/theories/job279to282.v.html │ │ 25.4840 24.8890 -0.5950 -2.33% 12 coq-fourcolor/theories/job299to302.v.html │ │ 62.1100 61.5380 -0.5720 -0.92% 27 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/ToFancyWithCasts.v.html │ │ 2.5080 1.9570 -0.5510 -21.97% 32 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/NBE.v.html │ │ 0.5310 0.0060 -0.5250 -98.87% 177 coq-mathcomp-solvable/mathcomp/solvable/alt.v.html │ │ 12.4480 11.9460 -0.5020 -4.03% 194 coq-fiat-crypto-with-bedrock/src/Fancy/Barrett256.v.html │ │ 19.9150 19.4660 -0.4490 -2.25% 12 coq-fourcolor/theories/job507to510.v.html │ │ 39.1870 38.7410 -0.4460 -1.14% 236 coq-rewriter/src/Rewriter/Rewriter/Examples/PerfTesting/LiftLetsMap.v.html │ │ 0.4400 0.0030 -0.4370 -99.32% 363 coq-mathcomp-solvable/mathcomp/solvable/cyclic.v.html │ │ 2.0160 1.5830 -0.4330 -21.48% 20 coq-fiat-crypto-with-bedrock/src/Rewriter/Passes/NBE.v.html │ │ 39.1230 38.6930 -0.4300 -1.10% 236 coq-rewriter-perf-SuperFast/src/Rewriter/Rewriter/Examples/PerfTesting/LiftLetsMap.v.html │ │ 0.4680 0.0410 -0.4270 -91.24% 464 coq-mathcomp-field/mathcomp/field/separable.v.html │ │ 0.4050 0.0040 -0.4010 -99.01% 170 coq-mathcomp-solvable/mathcomp/solvable/alt.v.html │ │ 0.3760 0.0030 -0.3730 -99.20% 1556 coq-mathcomp-solvable/mathcomp/solvable/abelian.v.html │ │ 0.3710 0.0020 -0.3690 -99.46% 187 coq-mathcomp-solvable/mathcomp/solvable/jordanholder.v.html │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ |
🔴 CI failures at commit d1e2548 without any failure in the test-suite ✔️ Corresponding jobs for the base commit 241e2fa succeeded ❔ Ask me to try to extract minimal test cases that can be added to the test-suite 🏃
|
performance-tests-lite timedout in the bench, in Reify/CanonicalStructures/_2_SuperFast.v AFAICT (the bench runs each package with a 3h timeout)
it seems the only files tried where
|
Oh, sorry, fixed, and thank you. There is no need to restart the bench, there are several issues to investigate already. |
This should be ready for the CI, and if everything goes well a bench. |
@coqbot run full ci |
It looks like my overlay is wrong. What name should I give instead of odd-order? |
Did you use the script to generate the overlays or did you copy-paste this from other files? Otherwise the projects are |
I did not know about the script, which actually appears at least twice in the documentation, so thank you. |
@coqbot bench |
🏁 Bench results:
INFO: failed to install coq-mathcomp-fingroup (dependency coq-mathcomp-ssreflect failed) 🐢 Top 25 slow downs┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SLOW DOWNS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 0.0030 1.3140 1.3110 43700.00% 238 coq-unimath/UniMath/CategoryTheory/Limits/Filtered.v.html │ │ 62.2290 63.0790 0.8500 1.37% 609 coq-bedrock2/bedrock2/src/bedrock2Examples/lightbulb.v.html │ │ 46.5520 47.2550 0.7030 1.51% 376 coq-unimath/UniMath/ModelCategories/Generated/LNWFSMonoidalStructure.v.html │ │ 36.1370 36.8060 0.6690 1.85% 139 coq-fiat-parsers/src/Parsers/Refinement/SharpenedJSON.v.html │ │ 0.0850 0.7340 0.6490 763.53% 556 coq-unimath/UniMath/AlgebraicTheories/RepresentationTheorem.v.html │ │ 0.0010 0.6100 0.6090 60900.00% 110 coq-unimath/UniMath/CategoryTheory/Limits/StandardDiagrams.v.html │ │ 0.0010 0.6090 0.6080 60800.00% 107 coq-unimath/UniMath/CategoryTheory/Limits/StandardDiagrams.v.html │ │ 99.4830 100.0170 0.5340 0.54% 968 coq-performance-tests-lite/src/fiat_crypto_via_setoid_rewrite_standalone.v.html │ │ 25.0900 25.5490 0.4590 1.83% 374 coq-unimath/UniMath/ModelCategories/Generated/LNWFSMonoidalStructure.v.html │ │ 99.5570 100.0110 0.4540 0.46% 999 coq-performance-tests-lite/src/fiat_crypto_via_setoid_rewrite_standalone.v.html │ │ 25.0300 25.4820 0.4520 1.81% 375 coq-unimath/UniMath/ModelCategories/Generated/LNWFSMonoidalStructure.v.html │ │ 32.9050 33.3340 0.4290 1.30% 147 coq-vst/veric/expr_lemmas4.v.html │ │ 46.2480 46.6700 0.4220 0.91% 110 coq-bedrock2/bedrock2/src/bedrock2Examples/full_mul.v.html │ │ 0.1950 0.5940 0.3990 204.62% 934 coq-unimath/UniMath/AlgebraicTheories/CategoryOfRetracts.v.html │ │ 11.1820 11.5470 0.3650 3.26% 410 coq-verdi-raft/theories/RaftProofs/LeaderLogsLogMatchingProof.v.html │ │ 31.9390 32.2650 0.3260 1.02% 194 coq-vst/veric/expr_lemmas4.v.html │ │ 0.2910 0.6070 0.3160 108.59% 199 coq-unimath/UniMath/CategoryTheory/Categories/StandardCategories.v.html │ │ 16.8740 17.1840 0.3100 1.84% 32 coq-performance-tests-lite/src/pattern.v.html │ │ 4.5180 4.8230 0.3050 6.75% 1190 coq-unimath/UniMath/CategoryTheory/GrothendieckConstruction/IsPullback.v.html │ │ 20.0080 20.2940 0.2860 1.43% 338 coq-unimath/UniMath/ModelCategories/Generated/LNWFSMonoidalStructure.v.html │ │ 18.5320 18.8110 0.2790 1.51% 481 coq-verdi-raft/theories/RaftProofs/EndToEndLinearizability.v.html │ │ 0.1450 0.4120 0.2670 184.14% 290 coq-unimath/UniMath/AlgebraicTheories/Examples/EndomorphismTheory.v.html │ │ 14.9250 15.1830 0.2580 1.73% 1505 coq-vst/floyd/VSU.v.html │ │ 17.3450 17.5890 0.2440 1.41% 31 coq-engine-bench-lite/coq/PerformanceDemos/pattern.v.html │ │ 0.3810 0.6240 0.2430 63.78% 870 coq-stdlib/MSets/MSetRBT.v.html │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 🐇 Top 25 speed ups┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SPEED UPS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 43.0820 42.1710 -0.9110 -2.11% 834 coq-vst/veric/binop_lemmas4.v.html │ │ 0.7080 0.3180 -0.3900 -55.08% 868 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.9120 0.6900 -0.2220 -24.34% 205 coq-stdlib/setoid_ring/Ncring_tac.v.html │ │ 1.9950 1.7760 -0.2190 -10.98% 25 coq-engine-bench-lite/coq/PerformanceDemos/app_n.v.html │ │ 5.3150 5.1080 -0.2070 -3.89% 198 coq-compcert/x86/Op.v.html │ │ 1.6970 1.5010 -0.1960 -11.55% 313 coq-stdlib/Strings/Byte.v.html │ │ 199.9390 199.7440 -0.1950 -0.10% 8 coq-neural-net-interp-computed-lite/theories/MaxOfTwoNumbersSimpler/Computed/AllLogits.v.html │ │ 0.8300 0.6700 -0.1600 -19.28% 813 coq-stdlib/MSets/MSetRBT.v.html │ │ 7.9220 7.7640 -0.1580 -1.99% 31 coq-performance-tests-lite/src/pattern.v.html │ │ 0.4060 0.2710 -0.1350 -33.25% 650 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.4240 0.2910 -0.1330 -31.37% 637 coq-stdlib/MSets/MSetRBT.v.html │ │ 4.3540 4.2230 -0.1310 -3.01% 428 coq-compcert/lib/Heaps.v.html │ │ 0.3500 0.2190 -0.1310 -37.43% 445 coq-stdlib/Reals/Abstract/ConstructiveLimits.v.html │ │ 4.3420 4.2180 -0.1240 -2.86% 623 coq-performance-tests-lite/src/fiat_crypto_via_setoid_rewrite_standalone.v.html │ │ 1.2250 1.1020 -0.1230 -10.04% 21 coq-engine-bench-lite/coq/PerformanceDemos/app_n.v.html │ │ 0.2950 0.1770 -0.1180 -40.00% 16 coq-stdlib/Numbers/HexadecimalZ.v.html │ │ 3.5620 3.4440 -0.1180 -3.31% 490 coq-stdlib/Reals/Cauchy/ConstructiveCauchyRealsMult.v.html │ │ 1.3810 1.2670 -0.1140 -8.25% 839 coq-unimath/UniMath/CategoryTheory/GrothendieckConstruction/IsPullback.v.html │ │ 0.4380 0.3260 -0.1120 -25.57% 624 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.1080 0.0000 -0.1080 -100.00% 301 coq-vst/concurrency/conclib.v.html │ │ 0.1190 0.0120 -0.1070 -89.92% 72 coq-unimath/UniMath/CategoryTheory/Categories/HSET/SliceFamEquiv.v.html │ │ 0.1750 0.0700 -0.1050 -60.00% 230 coq-iris-examples/theories/logatom/snapshot/atomic_snapshot.v.html │ │ 0.1590 0.0560 -0.1030 -64.78% 616 coq-vst/floyd/go_lower.v.html │ │ 0.6940 0.5920 -0.1020 -14.70% 820 coq-unimath/UniMath/CategoryTheory/Limits/Examples/IsoCommaLimits.v.html │ │ 0.1010 0.0000 -0.1010 -100.00% 61 coq-iris-examples/theories/spanning_tree/proof.v.html │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ |
@coqbot run full ci |
I mean that losing 10 hours of compilation is a bit sad, so I hope there is a way to restart the bench at |
I started a bench with just the failing jobs as targets, that's the best we can do. |
🏁 Bench results:
INFO: failed to install 🐢 Top 25 slow downs┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SLOW DOWNS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 0.5970 0.8280 0.2310 38.69% 2108 coq-stdlib/FSets/FMapFacts.v.html │ │ 0.1020 0.2610 0.1590 155.88% 853 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.0020 0.1530 0.1510 7550.00% 130 coq-mathcomp-classical/classical/fsbigop.v.html │ │ 1.5590 1.6930 0.1340 8.60% 313 coq-stdlib/Strings/Byte.v.html │ │ 0.6870 0.8180 0.1310 19.07% 813 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.3130 0.4360 0.1230 39.30% 14 coq-stdlib/MSets/MSetToFiniteSet.v.html │ │ 0.2250 0.3450 0.1200 53.33% 12 coq-stdlib/MSets/MSets.v.html │ │ 0.3200 0.4390 0.1190 37.19% 624 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.2300 0.3490 0.1190 51.74% 11 coq-stdlib/Floats/FloatOps.v.html │ │ 0.1580 0.2730 0.1150 72.78% 31 coq-stdlib/FSets/FMapFullAVL.v.html │ │ 0.1450 0.2590 0.1140 78.62% 262 coq-stdlib/FSets/FSetProperties.v.html │ │ 0.3170 0.4290 0.1120 35.33% 637 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.1940 0.3060 0.1120 57.73% 19 coq-stdlib/Reals/Abstract/ConstructiveLUB.v.html │ │ 0.2260 0.3370 0.1110 49.12% 443 coq-stdlib/Reals/Abstract/ConstructiveLimits.v.html │ │ 0.4460 0.5530 0.1070 23.99% 870 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.4640 0.5650 0.1010 21.77% 82 coq-stdlib/Numbers/Cyclic/Int63/Sint63.v.html │ │ 0.1600 0.2550 0.0950 59.38% 445 coq-stdlib/Reals/Abstract/ConstructiveLimits.v.html │ │ 0.1870 0.2810 0.0940 50.27% 1 coq-stdlib/Reals/Cauchy/QExtra.v.html │ │ 0.1950 0.2890 0.0940 48.21% 1603 coq-stdlib/micromega/Tauto.v.html │ │ 0.1700 0.2630 0.0930 54.71% 444 coq-stdlib/Reals/Abstract/ConstructiveLimits.v.html │ │ 0.1860 0.2780 0.0920 49.46% 16 coq-stdlib/Numbers/HexadecimalN.v.html │ │ 0.1790 0.2700 0.0910 50.84% 13 coq-stdlib/extraction/ExtrOCamlPArray.v.html │ │ 0.1650 0.2530 0.0880 53.33% 12 coq-stdlib/Reals/Cauchy/ConstructiveCauchyReals.v.html │ │ 0.1720 0.2570 0.0850 49.42% 16 coq-stdlib/Numbers/DecimalNat.v.html │ │ 0.1770 0.2610 0.0840 47.46% 14 coq-stdlib/Numbers/Cyclic/Int63/Ring63.v.html │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ 🐇 Top 25 speed ups┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SPEED UPS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├─────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 1.3140 1.0240 -0.2900 -22.07% 1142 coq-stdlib/FSets/FMapAVL.v.html │ │ 0.9860 0.7120 -0.2740 -27.79% 205 coq-stdlib/setoid_ring/Ncring_tac.v.html │ │ 0.3270 0.1420 -0.1850 -56.57% 11 coq-stdlib/Reals/Abstract/ConstructiveLimits.v.html │ │ 0.3160 0.1400 -0.1760 -55.70% 226 coq-stdlib/Reals/Abstract/ConstructiveMinMax.v.html │ │ 2.4230 2.2550 -0.1680 -6.93% 203 coq-stdlib/setoid_ring/Ncring_tac.v.html │ │ 1.1600 0.9970 -0.1630 -14.05% 408 coq-stdlib/MSets/MSetAVL.v.html │ │ 0.1730 0.0220 -0.1510 -87.28% 121 coq-mathcomp-classical/classical/fsbigop.v.html │ │ 0.9750 0.8330 -0.1420 -14.56% 572 coq-stdlib/MSets/MSetAVL.v.html │ │ 3.5690 3.4340 -0.1350 -3.78% 490 coq-stdlib/Reals/Cauchy/ConstructiveCauchyRealsMult.v.html │ │ 0.2240 0.1040 -0.1200 -53.57% 268 coq-mathcomp-classical/classical/fsbigop.v.html │ │ 0.2830 0.1660 -0.1170 -41.34% 11 coq-stdlib/Reals/Abstract/ConstructivePower.v.html │ │ 0.4310 0.3150 -0.1160 -26.91% 140 coq-stdlib/Strings/Ascii.v.html │ │ 0.6010 0.4900 -0.1110 -18.47% 816 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.1890 0.0830 -0.1060 -56.08% 225 coq-stdlib/Reals/Abstract/ConstructiveMinMax.v.html │ │ 0.3000 0.1950 -0.1050 -35.00% 637 coq-stdlib/Reals/Abstract/ConstructiveSum.v.html │ │ 0.2490 0.1580 -0.0910 -36.55% 731 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.2490 0.1640 -0.0850 -34.14% 1121 coq-stdlib/Reals/Abstract/ConstructiveReals.v.html │ │ 0.7340 0.6500 -0.0840 -11.44% 200 coq-stdlib/Numbers/HexadecimalNat.v.html │ │ 0.2120 0.1320 -0.0800 -37.74% 637 coq-stdlib/Reals/Abstract/ConstructiveSum.v.html │ │ 0.6350 0.5580 -0.0770 -12.13% 868 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.2640 0.1910 -0.0730 -27.65% 1630 coq-stdlib/Numbers/Cyclic/Int63/Uint63.v.html │ │ 0.0720 0.0000 -0.0720 -100.00% 598 coq-stdlib/Reals/Abstract/ConstructiveSum.v.html │ │ 0.0690 0.0000 -0.0690 -100.00% 591 coq-stdlib/micromega/ZifyInst.v.html │ │ 0.3230 0.2560 -0.0670 -20.74% 719 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.0870 0.0200 -0.0670 -77.01% 139 coq-mathcomp-classical/classical/fsbigop.v.html │ └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ |
mathcomp analysis failed in OLD
|
It looks like they changed the layout of |
I guess you mean the command in the analysis opam file. You can make a PR on the opam repo. |
Done (in my branch), I hope recompiling |
Damn, I forgot the extra-dev opam repo, let me fix that. |
Then I revert the changes ^^ |
PR opened coq/opam#3192 |
PR merged |
@coqbot bench |
🏁 Bench results:
INFO: failed to install 🐢 Top 25 slow downs┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SLOW DOWNS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├─────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 1.0230 1.4070 0.3840 37.54% 1142 coq-stdlib/FSets/FMapAVL.v.html │ │ 0.8360 1.1500 0.3140 37.56% 572 coq-stdlib/MSets/MSetAVL.v.html │ │ 3.1880 3.4360 0.2480 7.78% 490 coq-stdlib/Reals/Cauchy/ConstructiveCauchyRealsMult.v.html │ │ 0.3810 0.6220 0.2410 63.25% 14 coq-stdlib/MSets/MSetToFiniteSet.v.html │ │ 0.1810 0.3810 0.2000 110.50% 637 coq-stdlib/Reals/Abstract/ConstructiveSum.v.html │ │ 0.1760 0.3720 0.1960 111.36% 219 coq-stdlib/Reals/Abstract/ConstructiveMinMax.v.html │ │ 0.7030 0.8890 0.1860 26.46% 205 coq-stdlib/setoid_ring/Ncring_tac.v.html │ │ 0.5250 0.6850 0.1600 30.48% 816 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.6210 0.7720 0.1510 24.32% 160 coq-stdlib/Numbers/HexadecimalNat.v.html │ │ 0.0000 0.1490 0.1490 inf% 172 coq-mathcomp-classical/classical/set_interval.v.html │ │ 0.0060 0.1500 0.1440 2400.00% 412 coq-mathcomp-classical/classical/cardinality.v.html │ │ 0.0110 0.1540 0.1430 1300.00% 122 coq-mathcomp-classical/classical/fsbigop.v.html │ │ 0.0010 0.1380 0.1370 13700.00% 171 coq-mathcomp-classical/classical/classical_orders.v.html │ │ 0.9320 1.0680 0.1360 14.59% 408 coq-stdlib/MSets/MSetAVL.v.html │ │ 0.4180 0.5500 0.1320 31.58% 705 coq-stdlib/Numbers/HexadecimalFacts.v.html │ │ 0.2010 0.3290 0.1280 63.68% 16 coq-stdlib/Numbers/HexadecimalZ.v.html │ │ 0.3850 0.5070 0.1220 31.69% 1149 coq-stdlib/FSets/FMapAVL.v.html │ │ 0.1260 0.2480 0.1220 96.83% 637 coq-stdlib/Reals/Abstract/ConstructiveSum.v.html │ │ 0.0000 0.1210 0.1210 inf% 341 coq-mathcomp-classical/classical/classical_sets.v.html │ │ 0.0000 0.1170 0.1170 inf% 308 coq-mathcomp-classical/classical/boolp.v.html │ │ 0.3730 0.4880 0.1150 30.83% 474 coq-stdlib/MSets/MSetWeakList.v.html │ │ 0.0310 0.1450 0.1140 367.74% 354 coq-mathcomp-classical/classical/classical_orders.v.html │ │ 0.1860 0.2940 0.1080 58.06% 1 coq-stdlib/Array/PArray.v.html │ │ 0.0090 0.1150 0.1060 1177.78% 153 coq-mathcomp-classical/classical/wochoice.v.html │ │ 0.1260 0.2310 0.1050 83.33% 351 coq-stdlib/Reals/Cauchy/ConstructiveCauchyRealsMult.v.html │ └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ 🐇 Top 25 speed ups┌───────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SPEED UPS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├───────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 0.6260 0.3040 -0.3220 -51.44% 870 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.9420 0.6220 -0.3200 -33.97% 736 coq-stdlib/Reals/Cauchy/ConstructiveCauchyReals.v.html │ │ 0.3110 0.0080 -0.3030 -97.43% 405 coq-mathcomp-classical/classical/cardinality.v.html │ │ 0.5200 0.3120 -0.2080 -40.00% 868 coq-stdlib/MSets/MSetRBT.v.html │ │ 1.7240 1.5220 -0.2020 -11.72% 313 coq-stdlib/Strings/Byte.v.html │ │ 0.1840 0.0220 -0.1620 -88.04% 121 coq-mathcomp-classical/classical/fsbigop.v.html │ │ 0.1470 0.0000 -0.1470 -100.00% 178 coq-mathcomp-classical/classical/set_interval.v.html │ │ 0.1430 0.0050 -0.1380 -96.50% 173 coq-mathcomp-classical/classical/classical_orders.v.html │ │ 0.2980 0.1610 -0.1370 -45.97% 11 coq-stdlib/Reals/Abstract/ConstructivePower.v.html │ │ 0.3380 0.2030 -0.1350 -39.94% 11 coq-stdlib/Reals/Abstract/ConstructiveLimits.v.html │ │ 0.4070 0.2730 -0.1340 -32.92% 650 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.4150 0.2920 -0.1230 -29.64% 1165 coq-stdlib/FSets/FMapAVL.v.html │ │ 0.4330 0.3120 -0.1210 -27.94% 624 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.1170 0.0000 -0.1170 -100.00% 344 coq-mathcomp-classical/classical/classical_sets.v.html │ │ 0.1160 0.0000 -0.1160 -100.00% 309 coq-mathcomp-classical/classical/boolp.v.html │ │ 0.1230 0.0100 -0.1130 -91.87% 152 coq-mathcomp-classical/classical/wochoice.v.html │ │ 0.6910 0.5810 -0.1100 -15.92% 813 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.4130 0.3030 -0.1100 -26.63% 637 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.1060 0.0030 -0.1030 -97.17% 264 coq-mathcomp-classical/classical/wochoice.v.html │ │ 0.6720 0.5700 -0.1020 -15.18% 200 coq-stdlib/Numbers/HexadecimalNat.v.html │ │ 0.2080 0.1060 -0.1020 -49.04% 268 coq-mathcomp-classical/classical/fsbigop.v.html │ │ 0.3930 0.2970 -0.0960 -24.43% 163 coq-stdlib/Numbers/HexadecimalPos.v.html │ │ 0.2580 0.1620 -0.0960 -37.21% 1121 coq-stdlib/Reals/Abstract/ConstructiveReals.v.html │ │ 0.2420 0.1520 -0.0900 -37.19% 1151 coq-stdlib/FSets/FMapAVL.v.html │ │ 0.3820 0.2930 -0.0890 -23.30% 138 coq-stdlib/Numbers/HexadecimalPos.v.html │ └───────────────────────────────────────────────────────────────────────────────────────────────────┘ |
I rebased my branch of |
So |
🏁 Bench results:
🐢 Top 25 slow downs┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SLOW DOWNS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 0.3510 0.7090 0.3580 101.99% 870 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.8060 1.1240 0.3180 39.45% 572 coq-stdlib/MSets/MSetAVL.v.html │ │ 1.8160 2.0770 0.2610 14.37% 203 coq-stdlib/setoid_ring/Ncring_tac.v.html │ │ 0.5480 0.8010 0.2530 46.17% 813 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.4040 0.6560 0.2520 62.38% 622 coq-mathcomp-analysis/theories/lebesgue_measure.v.html │ │ 0.6890 0.9160 0.2270 32.95% 205 coq-stdlib/setoid_ring/Ncring_tac.v.html │ │ 0.4130 0.6300 0.2170 52.54% 581 coq-mathcomp-analysis/theories/probability.v.html │ │ 0.6440 0.8530 0.2090 32.45% 160 coq-stdlib/Numbers/HexadecimalNat.v.html │ │ 0.1280 0.3360 0.2080 162.50% 11 coq-stdlib/Reals/Abstract/ConstructiveLimits.v.html │ │ 0.1350 0.3400 0.2050 151.85% 1045 coq-stdlib/Reals/Abstract/ConstructiveReals.v.html │ │ 0.9050 1.1070 0.2020 22.32% 408 coq-stdlib/MSets/MSetAVL.v.html │ │ 0.0020 0.1910 0.1890 9450.00% 79 coq-mathcomp-analysis/theories/ftc.v.html │ │ 0.0000 0.1840 0.1840 inf% 84 coq-mathcomp-analysis/theories/probability.v.html │ │ 0.0080 0.1880 0.1800 2250.00% 103 coq-mathcomp-analysis/theories/convex.v.html │ │ 10.8390 11.0150 0.1760 1.62% 3439 coq-mathcomp-analysis/theories/lebesgue_integral.v.html │ │ 0.1140 0.2880 0.1740 152.63% 347 coq-mathcomp-analysis/theories/ereal.v.html │ │ 0.2540 0.4250 0.1710 67.32% 207 coq-mathcomp-analysis/theories/realfun.v.html │ │ 0.1820 0.3480 0.1660 91.21% 16 coq-stdlib/Numbers/HexadecimalZ.v.html │ │ 0.0020 0.1630 0.1610 8050.00% 165 coq-mathcomp-analysis/theories/cantor.v.html │ │ 0.6610 0.8190 0.1580 23.90% 197 coq-stdlib/setoid_ring/Ncring_tac.v.html │ │ 0.1060 0.2580 0.1520 143.40% 116 coq-mathcomp-analysis/theories/topology_theory/pseudometric_structure.v.html │ │ 0.0090 0.1610 0.1520 1688.89% 322 coq-mathcomp-analysis/theories/forms.v.html │ │ 0.1570 0.3070 0.1500 95.54% 144 coq-mathcomp-analysis/theories/realfun.v.html │ │ 0.3460 0.4950 0.1490 43.06% 7 coq-mathcomp-analysis/theories/cantor.v.html │ │ 0.0000 0.1490 0.1490 inf% 172 coq-mathcomp-classical/classical/set_interval.v.html │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 🐇 Top 25 speed ups┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TOP 25 SPEED UPS │ │ │ │ OLD NEW DIFF %DIFF Ln FILE │ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 2.3700 0.0310 -2.3390 -98.69% 871 coq-mathcomp-analysis/theories/derive.v.html │ │ 3.7350 2.9040 -0.8310 -22.25% 1281 coq-mathcomp-analysis/theories/derive.v.html │ │ 0.3730 0.0080 -0.3650 -97.86% 1159 coq-mathcomp-analysis/theories/probability.v.html │ │ 0.3110 0.0080 -0.3030 -97.43% 405 coq-mathcomp-classical/classical/cardinality.v.html │ │ 0.3450 0.0620 -0.2830 -82.03% 2023 coq-mathcomp-analysis/theories/lebesgue_measure.v.html │ │ 0.4580 0.2260 -0.2320 -50.66% 747 coq-stdlib/MSets/MSetRBT.v.html │ │ 3.0670 2.8370 -0.2300 -7.50% 490 coq-stdlib/Reals/Cauchy/ConstructiveCauchyRealsMult.v.html │ │ 0.7730 0.5740 -0.1990 -25.74% 422 coq-stdlib/MSets/MSetList.v.html │ │ 0.1990 0.0020 -0.1970 -98.99% 77 coq-mathcomp-analysis/theories/ftc.v.html │ │ 0.2000 0.0040 -0.1960 -98.00% 318 coq-mathcomp-analysis/theories/ereal.v.html │ │ 0.1870 0.0110 -0.1760 -94.12% 102 coq-mathcomp-analysis/theories/convex.v.html │ │ 0.1790 0.0040 -0.1750 -97.77% 149 coq-mathcomp-analysis/theories/derive.v.html │ │ 0.2900 0.1160 -0.1740 -60.00% 211 coq-mathcomp-analysis/theories/topology_theory/order_topology.v.html │ │ 0.3650 0.1940 -0.1710 -46.85% 17 coq-stdlib/Reals/Cauchy/ConstructiveCauchyRealsMult.v.html │ │ 0.6330 0.4700 -0.1630 -25.75% 82 coq-stdlib/Numbers/Cyclic/Int63/Sint63.v.html │ │ 0.2850 0.1220 -0.1630 -57.19% 207 coq-mathcomp-analysis/theories/topology_theory/order_topology.v.html │ │ 0.1840 0.0230 -0.1610 -87.50% 121 coq-mathcomp-classical/classical/fsbigop.v.html │ │ 0.1540 0.0020 -0.1520 -98.70% 273 coq-mathcomp-analysis/theories/forms.v.html │ │ 0.1560 0.0040 -0.1520 -97.44% 141 coq-mathcomp-analysis/theories/realfun.v.html │ │ 0.2480 0.0970 -0.1510 -60.89% 119 coq-mathcomp-analysis/theories/topology_theory/pseudometric_structure.v.html │ │ 0.1470 0.0000 -0.1470 -100.00% 178 coq-mathcomp-classical/classical/set_interval.v.html │ │ 0.5230 0.3810 -0.1420 -27.15% 597 coq-stdlib/Strings/Byte.v.html │ │ 0.1440 0.0050 -0.1390 -96.53% 173 coq-mathcomp-classical/classical/classical_orders.v.html │ │ 0.4090 0.2830 -0.1260 -30.81% 650 coq-stdlib/MSets/MSetRBT.v.html │ │ 0.4230 0.2980 -0.1250 -29.55% 313 coq-stdlib/Reals/Abstract/ConstructiveLUB.v.html │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ |
I am not sure how the performance gain in |
The change in classical in #19611 (comment) seems to have been because some files weren't there in NEW
|
@coqbot run full ci |
🔴 CI failure at commit cbdc29f without any failure in the test-suite ✔️ Corresponding job for the base commit e9d68d2 succeeded ❔ Ask me to try to extract a minimal test case that can be added to the test-suite 🏃
|
| Evar _ | Meta _ -> raise NotInstantiatedEvar | ||
| _ -> EConstr.iter evd has_ev t in | ||
try let _ = has_ev t in false | ||
with (Not_found | NotInstantiatedEvar) -> true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Not_found is fishy, it would mean the term has an unknown evar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I copy-pasted the code from has_undefined_evars
, which changed in the meantime, and it is out of the scope of this PR to fix this. Also, catching the unknown evars here is not a trivial design choice (although I agree that if we want the invariant that no evar may ever not be declared in the evar_map
then we should probably explode as soon as possible). Should I mirror the code of has_undefined_evars
again and open another PR to propose the change?
| None -> UnifFailure (evd,NotSameHead)) | ||
|
||
| _, _ -> | ||
let no_cs1 = ref false in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see why you use a ref to make f2 and f3 pass extra data, and I see no better way. But it deserves a comment.
pretyping/evarconv.ml
Outdated
@@ -695,6 +702,7 @@ let rec evar_conv_x flags env evd pbty term1 term2 = | |||
end | |||
|
|||
and evar_eqappr_x ?(rhs_is_already_stuck = false) flags env evd pbty | |||
parents1 parents2 keys1 keys2 lastUnfolded |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO, it would make more sense to define a type cs_keys_cache = { .... }
and pass a single argument here.
The type should come with an empty : unit -> ..
constructor and a flip
function to exchange left with right.
It would also help to document what the last argument (the last unfolded thing) is.
pretyping/evarconv.ml
Outdated
(let x = try get_cs env i keys2 (match lastUnfolded with | Some true -> true | _ -> false) parents2 appr1 c2 appr2 | ||
with No_cs b -> no_cs1 := b; None in | ||
let x = match x with | ||
| Some _ -> x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should name the try...with No_cs ...
code, maybe get_cs_opt
and move out the assignment to no_cs1. This way you should be able to call it twice and the control flow should become a bit more clear as in
match get_cs_opt bla bla 2 with
| Some x -> x
| None ->
match get_cs_opt bla bla 1 with
| Some x -> x
| None -> raise Not_found
pretyping/evarconv.ml
Outdated
else conv_record flags env (check_conv_record env i appr1 appr2) | ||
else conv_record flags env ( | ||
let x = | ||
try get_cs env i keys2 false parents2 appr1 c2 appr2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
idem
pretyping/evarconv.ml
Outdated
else conv_record flags env (check_conv_record env i appr2 appr1) | ||
else conv_record flags env ( | ||
let x = | ||
try get_cs env i keys1 false parents1 appr2 c1 appr1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
idem
pretyping/evarconv.mli
Outdated
|
||
exception No_cs of bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only user of this function/exception ignores the bool.
I don't get the point of exposing the decompose_proj API. Could you please explain the choice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
decompose_proj
is used in pretyping/unification.ml
.
Saves the head constant of a term before delta-reducing it, to be used during canonical structure resolution and to find matching heads.
Also prevents trying to solve canonical structure problems of the form
S.proj s ~ t
whens
reduces to an applied constructor.Fixes / closes #????
make doc_gram_rsts
.Overlays (to be merged before the current PR)