FearfulTomcat27 opened a new pull request, #209:
URL: https://github.com/apache/tsfile/pull/209
# Description
## Changes in this PR
1. This PR adds short-circuit evaluation, which drastically reduces query
time for queries with multiple conditions.
2. This PR uses FreeMarker to generate Filter code for a variety of
different data types, reducing the time-consuming repetitive type conversions.
3. Add UT to the newly generated Filter
## Optimization Rate
### Short-circuit evalutaion Optimization Rate
Assume that the condition **A and B** OR **A or B** exists.
Let the pre-optimization query time be $t_{1}$ ,the post-optimization query
time be $t_{2}$, and the optimization rate be $\eta$
Optimization rate formula: $\eta = \frac{t_{1}-t_{2}}{t_2} \times 100\%$
A Conditional selection rate | And Optimization rate | Or Optimization rate
-- | -- | --
100% | -2.996% | 1349.588%
80% | 18.337% | 222.466%
60% | 48.962% | 115.850%
40% | 101.519% | 44.693%
20% | 221.260% | 17.133
0% | 1644.018% | -1.215%
### FreeMarker Optimization Rate
Data Type | Optimization Rate
-- | --
boolean | 3.814%
Int | 5.577%
long | 4.854%
float | 5.483%
double | 5.789%
Binary | -0.259%
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]