String conversion perf improvements + minor unrelated changes #54
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.
The main change here is a rewrite of
Guid::str
to make only one call tosnprintf
and avoid string concatenation entirely. It just puts the bytes directly into a buffer and then copies that into the string. My microbenchmarks showed a 15-20% improvement in string conversion there. While this isn't the most common Guid operation it's a decent saving. And I would argue that the new code is a little more clear anyway.I also snuck in some minor unrelated changes:
CoCreateGuid
. MSDN says this is alwaysS_OK
but it's still marked_Check_result_
which can cause a warning if you don't, well, check the result.