Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change makes
st
a bit quicker for large inputs. The main boost comes from de-duplicating thevalidate
check for every number. The validation check is also replaced with Scalar::Util'slooks_like_number
, which passes the existing test suite, is part of core, and is implemented in C.This change, as it is now, would require a version bump on the library since previously,
process
would die on invalid input. This change assumes the caller has validated the input. It should be straightforward to avoid that if necessary.I've included some simple runs on a 40mb file showing the before and after below. The run time for this file was reduced to 14s, originally taking 21s. Both times were taken after multiple runs of tests to account for page caches being warm etc.
Current
st
:Proposed: