You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2018/11/11 01:39:34 UTC
[GitHub] gianm opened a new pull request #6599: Optimization for expressions
that hit a single long column.
gianm opened a new pull request #6599: Optimization for expressions that hit a single long column.
URL: https://github.com/apache/incubator-druid/pull/6599
There was previously a single-long-input optimization that applied only
to the time column. These have been combined together. Also adds
type-specific value caching to ExprEval, which allowed simplifying
the SingleLongInputCachingExpressionColumnValueSelector code.
Benchmarks (the ones we'd expect to see improvement on are arithmeticOnLong and stringConcatAndCompareOnLong):
```
master:
Benchmark (rowsPerSegment) Mode Cnt Score Error Units
ExpressionSelectorBenchmark.arithmeticOnLong 1000000 avgt 30 35.975 ± 1.445 ms/op
ExpressionSelectorBenchmark.stringConcatAndCompareOnLong 1000000 avgt 30 157.388 ± 6.704 ms/op
ExpressionSelectorBenchmark.strlenUsingExpressionAsLong 1000000 avgt 30 15.079 ± 0.074 ms/op
ExpressionSelectorBenchmark.strlenUsingExpressionAsString 1000000 avgt 30 13.146 ± 0.334 ms/op
ExpressionSelectorBenchmark.strlenUsingExtractionFn 1000000 avgt 30 4.679 ± 0.252 ms/op
ExpressionSelectorBenchmark.timeFloorUsingCursor 1000000 avgt 30 13.438 ± 0.162 ms/op
ExpressionSelectorBenchmark.timeFloorUsingExpression 1000000 avgt 30 12.797 ± 0.110 ms/op
ExpressionSelectorBenchmark.timeFloorUsingExtractionFn 1000000 avgt 30 11.328 ± 0.221 ms/op
patch:
Benchmark (rowsPerSegment) Mode Cnt Score Error Units
ExpressionSelectorBenchmark.arithmeticOnLong 1000000 avgt 30 13.807 ± 0.390 ms/op
ExpressionSelectorBenchmark.stringConcatAndCompareOnLong 1000000 avgt 30 13.743 ± 0.213 ms/op
ExpressionSelectorBenchmark.strlenUsingExpressionAsLong 1000000 avgt 30 15.246 ± 0.054 ms/op
ExpressionSelectorBenchmark.strlenUsingExpressionAsString 1000000 avgt 30 12.483 ± 0.495 ms/op
ExpressionSelectorBenchmark.strlenUsingExtractionFn 1000000 avgt 30 4.666 ± 0.241 ms/op
ExpressionSelectorBenchmark.timeFloorUsingCursor 1000000 avgt 30 14.617 ± 0.317 ms/op
ExpressionSelectorBenchmark.timeFloorUsingExpression 1000000 avgt 30 13.782 ± 0.497 ms/op
ExpressionSelectorBenchmark.timeFloorUsingExtractionFn 1000000 avgt 30 11.414 ± 0.147 ms/op
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org