Add a debug.IsDebug check before splitting strings #3134
Merged
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.
What issue is this addressing?
--
What type of issue is this addressing?
feature
What this PR does | solves
Since
debug.IsDebug
is a constant, by putting thestrings.Cut
calls inside the check this makes the(*commandqueue).flush
method faster when Ebitengine is compiled without thedebug
build tag.Without the

if debug.IsDebug
check, unnecessary allocations occur (since the logger is a noop logger when debug is disabled):GC Details after the change:

This happens because Go knows that IsDebug is a constant (and the compiler will optimize this away on production builds).