-
Notifications
You must be signed in to change notification settings - Fork 13.6k
fmt of non-decimal radix untangled #143730
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
base: master
Are you sure you want to change the base?
Conversation
2281143
to
d593c6f
Compare
This comment has been minimized.
This comment has been minimized.
d593c6f
to
f0f1c53
Compare
This comment has been minimized.
This comment has been minimized.
f0f1c53
to
76b8c3a
Compare
☔ The latest upstream changes (presumably #144044) made this pull request unmergeable. Please resolve the merge conflicts. |
76b8c3a
to
110d35e
Compare
Can you either have a look or reassign @tgross35? Got a followup pending on this one... |
I'll reassign for now, but if nobody beats me to it I'll take a look on Monday r? libs (leaving myself assigned so it stays on my list) |
By the way; if you are interested, we could use some int (and float) formatting and parsing benchmarks at https://github.com/rust-lang/rustc-perf/blob/2120e3b7b8996e96858b88edefea371679a3d415/collector/runtime-benchmarks/fmt/src/main.rs (I just learned that is possible), which would mean they get run as part of our pretty extensive perf infra rather than you needing to post the results of local runs. |
Interesting indeed @tgross35. The specialized benchmarks we have at the moment (such as |
110d35e
to
2c6210d
Compare
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.
Few notes, haven't looked at patches 3 & 4 yet
2c6210d
to
6e3b5ee
Compare
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.
Guess it's still on me, but this looks pretty good! Just a few small things
6e3b5ee
to
c424403
Compare
This comment has been minimized.
This comment has been minimized.
* correct buffer size * no trait abstraction * similar to decimal
c424403
to
d7da6f7
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (4984ea3): comparison URL. Overall result: ❌✅ regressions and improvements - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -1.4%, secondary -0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 4.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.1%, secondary -0.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 469.09s -> 467.235s (-0.40%) |
d7da6f7
to
0291e78
Compare
This comment has been minimized.
This comment has been minimized.
Thanks for cleaning up even more formatting! @bors r+ |
fmt of non-decimal radix untangled Have the implementation match its decimal counterpart. * Digit table instead of conversion functions * Correct buffer size per radix * Elimination of dead code for negative * No trait abstraction for integers #### Original Performance ``` fmt::write_10ints_bin 393.03ns/iter +/- 1.41 fmt::write_10ints_hex 316.84ns/iter +/- 1.49 fmt::write_10ints_oct 327.16ns/iter +/- 0.46 ``` #### Patched Performance ``` fmt::write_10ints_bin 392.31ns/iter +/- 3.05 fmt::write_10ints_hex 302.41ns/iter +/- 5.48 fmt::write_10ints_oct 322.01ns/iter +/- 3.82 ``` r? tgross35
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
Tree sync, not approved. |
0291e78
to
ca1d99b
Compare
@bors2 try jobs=x86_64-gnu-llvm-19-3 r=me with that passing |
This comment has been minimized.
This comment has been minimized.
fmt of non-decimal radix untangled try-job: x86_64-gnu-llvm-19-3
💔 Test for 59e4e19 failed: CI. Failed jobs:
|
The job Click to see the possible cause of the failure (guessed by this bot)
|
Huh, does it get You can check that config locally with |
Have the implementation match its decimal counterpart.
Original Performance
Patched Performance
r? tgross35