Ingest DateProcessor (small) speedup, optimize collections code in DateFormatter.forPattern #91521
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.
splitCombinedPatternsto avoid an array->collection conversionforPatternrather than the streams approachIt's a relatively small change to the code, but since we run this each time a
DateProcessorexecutes on anIngestDocument, it's a pretty hot code path. In my little microbenchmark it cuts ~20% of the time spent in aDateProcessor, or about 1% of the ingest time overall (but again for emphasis, that's just my little microbenchmark).Here's the before/after flamegraph: