Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Speed up DocumentParser.innerParseObject (elastic#88715)
Making this a little smaller so it inlines more often and more importantly avoid getting the current field name redundantly before entering the loop which is not free when the parser is a `DotExpandingXContentParser`. This change gives a significant boost to `BeatsMapperBenchmark.benchmarkParseKeywordFields`. Results below are pretty stable, running with a large number of iterations. before: ``` Result "org.elasticsearch.benchmark.index.mapper.BeatsMapperBenchmark.benchmarkParseKeywordFields": 9039.270 ±(99.9%) 28.001 ns/op [Average] (min, avg, max) = (9008.778, 9039.270, 9062.246), stdev = 18.521 CI (99.9%): [9011.269, 9067.271] (assumes normal distribution) ``` after: ``` Result "org.elasticsearch.benchmark.index.mapper.BeatsMapperBenchmark.benchmarkParseKeywordFields": 8645.649 ±(99.9%) 53.677 ns/op [Average] (min, avg, max) = (8568.319, 8645.649, 8688.210), stdev = 35.504 CI (99.9%): [8591.972, 8699.327] (assumes normal distribution) ```
- Loading branch information