Create parse micro-bench for JsonNode and fix other JsonNode bench namespace #4391
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.
Hey, I wanted to compare the current performance difference between JsonNode and JsonDocument for parsing-only. The docs say JsonDocument should be faster, but there doesn't seem to be much, if any at all, data on the subject out there. Given that the JsonNode API is friendlier and easier to work with overall, I wanted to see if the perf difference really justifies the hassle of using JsonDocument.
I came to the benchmarks here, but noticed there isn't one for just parsing with JsonNode. So I just duplicated the DocumentParse benchmark and changed it to test JsonNode instead.
Interestingly, after doing this I noticed some wonky results from JsonDocument on the 400KB payload benchmark, at : it was consistently slower than JsonNode, independently of whether I was testing random access, and when testing random access specifically the StdDev was through the roof, an order of magnitude higher than with JsonNode.
JsonNode
JsonDocument