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.
Description
Initializing a package global map and compiling regexes increases the init functions and adds up to the start time of executables.
This change implements two approaches:
How Has This Been Tested?
Minimal example:
On Go 1.25.4 linux/amd64 the above code compiles to ~2728103 bytes and GODEBUG=inittrace=1 shows the following:
init github.com/hashicorp/go-version @0.90 ms, 0.37 ms clock, 80992 bytes, 504 allocs
With this change applied on the same system, the above code compiles to ~2703283 bytes (reduction of ~24820 bytes) and GODEBUG=inittrace=1 does not list any init entry for github.com/hashicorp/go-version anymore.
Related Issue