⚡ Bolt: Optimize compareTo performance
#821
Closed
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.
⚡ Bolt: Optimize
compareToperformance💡 What:
Replaced the
compareToimplementation insrc/index.tswith a zero-allocation, single-pass parser.🎯 Why:
The original implementation used
split('.'),replace(), andregexinside a loop, which caused unnecessary allocations and overhead. Since version checks can be frequent (e.g., in loops or hot paths), this was a candidate for optimization.📊 Impact:
🔬 Measurement:
Run
bench.ts(removed before commit) comparing 1M calls toisAtLeastwith various inputs.PR created automatically by Jules for task 15186976299550281256 started by @srod
Summary by cubic
Optimized compareTo in src/index.ts with a zero-allocation, single-pass parser for version strings. Version checks are ~6x faster and create no GC pressure.
Written for commit c6b4896. Summary will update on new commits.