Commit 79499c8
authored
perf: run structural checks before const context queries in question_mark, manual_clamp and ranges (#17275)
Gate the const context, lint level and MSRV queries in the
`question_mark`, `manual_clamp` and `ranges` passes behind a cheap
expression/statement kind check, match method names before the type
queries in `is_max_min_pattern`, and parse each range expression once
instead of up to three times.
| crate | instructions base | instructions new | delta |
|---|---|---|---|
| serde-1.0.204 | 7,203,361,007 | 7,134,072,760 | -0.96% |
| syn-2.0.71 | 3,397,540,719 | 3,354,632,677 | -1.26% |
| cargo-0.80.0 (lib) | 29,891,566,078 | 29,339,576,071 | -1.85% |
| ryu-1.0.18 | 271,040,916 | 265,667,969 | -1.98% |
changelog: none3 files changed
Lines changed: 61 additions & 31 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
143 | | - | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
144 | 150 | | |
145 | 151 | | |
146 | 152 | | |
| |||
155 | 161 | | |
156 | 162 | | |
157 | 163 | | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
158 | 173 | | |
159 | 174 | | |
160 | 175 | | |
| |||
293 | 308 | | |
294 | 309 | | |
295 | 310 | | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
296 | 318 | | |
297 | 319 | | |
298 | | - | |
299 | 320 | | |
300 | 321 | | |
301 | 322 | | |
302 | 323 | | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | 324 | | |
309 | 325 | | |
310 | 326 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
629 | 629 | | |
630 | 630 | | |
631 | 631 | | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
632 | 637 | | |
633 | 638 | | |
634 | 639 | | |
| |||
646 | 651 | | |
647 | 652 | | |
648 | 653 | | |
649 | | - | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
650 | 657 | | |
651 | 658 | | |
652 | 659 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
194 | 198 | | |
| 199 | + | |
195 | 200 | | |
196 | 201 | | |
197 | 202 | | |
198 | 203 | | |
199 | | - | |
200 | | - | |
201 | | - | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
202 | 209 | | |
203 | 210 | | |
204 | 211 | | |
| |||
210 | 217 | | |
211 | 218 | | |
212 | 219 | | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | 220 | | |
218 | 221 | | |
219 | 222 | | |
| |||
481 | 484 | | |
482 | 485 | | |
483 | 486 | | |
484 | | - | |
| 487 | + | |
485 | 488 | | |
486 | 489 | | |
487 | 490 | | |
| 491 | + | |
488 | 492 | | |
489 | 493 | | |
490 | 494 | | |
491 | 495 | | |
492 | | - | |
493 | 496 | | |
494 | 497 | | |
495 | 498 | | |
496 | 499 | | |
497 | | - | |
| 500 | + | |
498 | 501 | | |
499 | 502 | | |
500 | 503 | | |
| 504 | + | |
501 | 505 | | |
502 | 506 | | |
503 | 507 | | |
504 | 508 | | |
505 | | - | |
506 | 509 | | |
507 | 510 | | |
508 | 511 | | |
509 | 512 | | |
510 | | - | |
| 513 | + | |
511 | 514 | | |
512 | 515 | | |
513 | 516 | | |
| 517 | + | |
514 | 518 | | |
515 | 519 | | |
516 | 520 | | |
517 | 521 | | |
518 | | - | |
519 | 522 | | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
527 | 529 | | |
528 | 530 | | |
529 | 531 | | |
530 | 532 | | |
531 | 533 | | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
532 | 539 | | |
533 | 540 | | |
534 | 541 | | |
| |||
550 | 557 | | |
551 | 558 | | |
552 | 559 | | |
553 | | - | |
| 560 | + | |
554 | 561 | | |
555 | 562 | | |
556 | 563 | | |
| |||
580 | 587 | | |
581 | 588 | | |
582 | 589 | | |
583 | | - | |
| 590 | + | |
584 | 591 | | |
585 | 592 | | |
586 | 593 | | |
587 | 594 | | |
588 | | - | |
| 595 | + | |
589 | 596 | | |
590 | 597 | | |
591 | 598 | | |
| |||
0 commit comments