factor: deduplicate code, refactor & optimize parsing#11292
factor: deduplicate code, refactor & optimize parsing#11292cakebaker merged 3 commits intouutils:mainfrom
Conversation
Merging this PR will improve performance by 6.16%
Performance Changes
Comparing Footnotes
|
|
GNU testsuite comparison: |
|
The macOS x64 CI fail is unrelated, as per usual sigh. |
|
GNU testsuite comparison: |
|
GNU testsuite comparison: |
|
@cakebaker Is there any other change you would like to see? Lmk if there's anything else I can do :). One macOS CI is still experiencing internal errors, sadly... |
|
Lemme fix the lockfile in a second lol |
|
GNU testsuite comparison: |
4e4318e to
c39b06d
Compare
|
@cakebaker In order to pass cargo-deny we probably need to pin |
|
GNU testsuite comparison: |
|
@Alonely0 I would only add the one-line change in |
Sure thing, I'll get that reverted in a second. |
|
|
|
GNU testsuite comparison: |
Now there is a single polymorphic function that just takes displayable data, not concrete datatypes. It's two opaque Display types since one of the cases has mismatched number types.
Now UTF-8 checks are performed strictly once, the worst-case of BigUints needs not be parsed & allocated every time, and error handling has been tightened.
|
GNU testsuite comparison: |
|
Ok, I added the missing |
|
Thanks! |
Thank you too :) |
Replaces the various
write_result_*for a single, generic one. On the parsing side, UTF-8 checks are now performed strictly once, the worst-case ofBigUints needs not be parsed & allocated every time, and error handling has been tightened.