perf: Remove regex dependency to fix per-value recompilation - #18
Merged
andrewnester merged 1 commit intoAug 31, 2026
Merged
Conversation
Contributor
Author
|
@andrewnester thoughts on this? |
andrewnester
approved these changes
Aug 31, 2026
Owner
|
Thank you! Yes, makes total sense |
Contributor
Author
Awesome! Thanks for the quick merge. Also saw you're already preparing the new release so thanks for being so quick with that as well! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
While profiling our project datavzrd I found that compiling a fresh
Regexfor every string value causes a lot of overhead. The packer and unpacker both do this in hot loops, so on large inputs the recompilation ends up dominating runtime. Since the patterns only look at a value's first characters, I replaced them with plain string checks and dropped theregexdependency entirely. For us this more than halves the render time on large reports, and shouldn't change the output in any way, right?