-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Commit d97326e
Auto merge of #136264 - GuillaumeGomez:optimize-integers-to-string, r=Amanieu
Optimize `ToString` implementation for integers
Part of #135543.
Follow-up of #133247 and #128204.
The benchmark results are:
| name| 1.87.0-nightly (3ea711f 2025年03月09日) | With this PR | diff |
|-|-|-|-|
| bench_i16 | 32.06 ns/iter (+/- 0.12) | 17.62 ns/iter (+/- 0.03) | -45% |
| bench_i32 | 31.61 ns/iter (+/- 0.04) | 15.10 ns/iter (+/- 0.06) | -52% |
| bench_i64 | 31.71 ns/iter (+/- 0.07) | 15.02 ns/iter (+/- 0.20) | -52% |
| bench_i8 | 13.21 ns/iter (+/- 0.14) | 14.93 ns/iter (+/- 0.16) | +13% |
| bench_u16 | 31.20 ns/iter (+/- 0.06) | 16.14 ns/iter (+/- 0.11) | -48% |
| bench_u32 | 33.27 ns/iter (+/- 0.05) | 16.18 ns/iter (+/- 0.10) | -51% |
| bench_u64 | 31.44 ns/iter (+/- 0.06) | 16.62 ns/iter (+/- 0.21) | -47% |
| bench_u8 | 10.57 ns/iter (+/- 0.30) | 13.00 ns/iter (+/- 0.43) | +22% |
More information about it in [the original comment](#136264 (comment)).
r? `@workingjubilee`File tree
8 files changed
+73
-15
lines changed- library
- alloc/src
- core/src/fmt
- tests/ui/codegen/equal-pointers-unequal
- as-cast
- exposed-provenance
- strict-provenance
8 files changed
+73
-15
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2826 | 2826 |
| |
2827 | 2827 |
| |
2828 | 2828 |
| |
2829 | + | ||
2830 | + | ||
2831 | + | ||
2832 | + | ||
2833 | + | ||
2834 | + | ||
2835 | + | ||
2836 | + | ||
2837 | + | ||
2838 | + | ||
2839 | + | ||
2840 | + | ||
2841 | + | ||
2842 | + | ||
2843 | + | ||
2844 | + | ||
2845 | + | ||
2846 | + | ||
2847 | + | ||
2848 | + | ||
2849 | + | ||
2850 | + | ||
2851 | + | ||
2852 | + | ||
2853 | + | ||
2854 | + | ||
2855 | + | ||
2856 | + | ||
2857 | + | ||
2858 | + | ||
2859 | + | ||
2860 | + | ||
2861 | + | ||
2862 | + | ||
2863 | + | ||
2864 | + | ||
2865 | + | ||
2866 | + | ||
2867 | + | ||
2868 | + | ||
2869 | + | ||
2870 | + | ||
2871 | + | ||
2872 | + | ||
2873 | + | ||
2874 | + | ||
2829 | 2875 |
| |
2876 | + | ||
2830 | 2877 |
| |
2831 | 2878 |
| |
2832 | 2879 |
| |
| |||
2846 | 2893 |
| |
2847 | 2894 |
| |
2848 | 2895 |
| |
2896 | + | ||
2849 | 2897 |
| |
2850 | 2898 |
| |
2851 | 2899 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
208 | 208 |
| |
209 | 209 |
| |
210 | 210 |
| |
211 | - | ||
211 | + | ||
212 | + | ||
213 | + | ||
214 | + | ||
215 | + | ||
212 | 216 |
| |
213 | 217 |
| |
214 | 218 |
| |
| |||
222 | 226 |
| |
223 | 227 |
| |
224 | 228 |
| |
225 | - | ||
229 | + | ||
230 | + | ||
231 | + | ||
232 | + | ||
233 | + | ||
226 | 234 |
| |
227 | 235 |
| |
228 | 236 |
| |
| |||
233 | 241 |
| |
234 | 242 |
| |
235 | 243 |
| |
236 | - | ||
237 | - | ||
238 | - | ||
239 | - | ||
244 | + | ||
245 | + | ||
246 | + | ||
247 | + | ||
248 | + | ||
249 | + | ||
250 | + | ||
240 | 251 |
| |
241 | 252 |
| |
242 | 253 |
| |
| |||
301 | 312 |
| |
302 | 313 |
| |
303 | 314 |
| |
304 | - | ||
315 | + | ||
305 | 316 |
| |
306 | 317 |
| |
307 | 318 |
| |
308 | 319 |
| |
309 | - | ||
310 | - | ||
320 | + | ||
311 | 321 |
| |
312 | 322 |
| |
313 | 323 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
26 | - | ||
26 | + | ||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
21 | 21 |
| |
22 | 22 |
| |
23 | 23 |
| |
24 | - | ||
24 | + | ||
25 | 25 |
| |
26 | 26 |
| |
27 | 27 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
25 | 25 |
| |
26 | 26 |
| |
27 | 27 |
| |
28 | - | ||
28 | + | ||
29 | 29 |
| |
30 | 30 |
| |
31 | 31 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
26 | - | ||
26 | + | ||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
25 | 25 |
| |
26 | 26 |
| |
27 | 27 |
| |
28 | - | ||
28 | + | ||
29 | 29 |
| |
30 | 30 |
| |
31 | 31 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
26 | - | ||
26 | + | ||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
|
0 commit comments