This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit b420d92
committed
Auto merge of rust-lang#132870 - Noratrieb:inline-int-parsing, r=tgross35
`#[inline]` integer parsing functions
This improves the performance of `str::parse` into integers.
Before:
```
compare fastest │ slowest │ median │ mean │ samples │ iters
╰─ std │ │ │ │ │
├─ 328920585 10.23 ns │ 24.8 ns │ 10.34 ns │ 10.48 ns │ 100 │ 25600
├─ 3255 8.551 ns │ 8.59 ns │ 8.551 ns │ 8.56 ns │ 100 │ 25600
╰─ 5 7.847 ns │ 7.887 ns │ 7.847 ns │ 7.853 ns │ 100 │ 25600
```
After:
```
compare fastest │ slowest │ median │ mean │ samples │ iters
╰─ std │ │ │ │ │
├─ 328920585 8.316 ns │ 23.7 ns │ 8.355 ns │ 8.491 ns │ 100 │ 25600
├─ 3255 4.566 ns │ 4.588 ns │ 4.586 ns │ 4.576 ns │ 100 │ 51200
╰─ 5 2.877 ns │ 3.697 ns │ 2.896 ns │ 2.945 ns │ 100 │ 102400
```
Benchmark:
```rust
fn std(input: &str) -> Result<u64, ParseIntError> {
input.parse()
}
```1 file changed
+3
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1433 | 1433 | | |
1434 | 1434 | | |
1435 | 1435 | | |
| 1436 | + | |
1436 | 1437 | | |
1437 | 1438 | | |
1438 | 1439 | | |
| |||
1505 | 1506 | | |
1506 | 1507 | | |
1507 | 1508 | | |
| 1509 | + | |
1508 | 1510 | | |
1509 | 1511 | | |
1510 | 1512 | | |
| |||
1649 | 1651 | | |
1650 | 1652 | | |
1651 | 1653 | | |
| 1654 | + | |
1652 | 1655 | | |
1653 | 1656 | | |
1654 | 1657 | | |
| |||
0 commit comments