Julius Volz
d2da21121c
Implement getValueRangeAtIntervalOp for faster range queries.
...
This also short-circuits optimize() for now, since it is complex to implement
for the new operator, and ops generated by the query layer already fulfill the
needed invariants. We should still investigate later whether to completely
delete operator optimization code or extend it to support
getValueRangeAtIntervalOp operators.
2013-06-26 18:10:36 +02:00
Matt T. Proud
30b1cf80b5
WIP - Snapshot of Moving to Client Model.
2013-06-25 15:52:42 +02:00
Julius Volz
f2b4067b7b
Speedup and clean up operation optimization.
2013-06-20 03:01:13 +02:00
Julius Volz
f2b48b8c4a
Make getValuesAtIntervalOp consume all chunk data in one pass.
...
This is mainly a small performance improvement, since we skip past the last
extracted time immediately if it was also the last sample in the chunk, instead
of trying to extract non-existent values before the chunk end again and again
and only gradually approaching the end of the chunk.
2013-05-22 18:14:45 +02:00
Julius Volz
83d60bed89
extractValuesAroundTime() code simplification.
2013-05-22 18:14:45 +02:00
Julius Volz
71a3172abb
Fix and optimize getValuesAtIntervalOp data extraction.
...
- only the data extracted in the last loop iteration of ExtractSamples() was
emitted as output
- if e.g. op interval < sample interval, there were situations where the same
sample was added multiple times to the output
2013-05-14 13:55:17 +02:00
Julius Volz
05afa970d2
Slice expression simplifications.
2013-05-07 13:22:29 +02:00
Julius Volz
99dcbe0f94
Integrate memory and disk layers in view rendering.
2013-04-19 16:01:27 +02:00
Julius Volz
a33d2726bc
Mark range op as consumed if it receives no data points in range.
2013-03-22 11:50:02 +01:00
Julius Volz
becc278eb6
Fix two bugs in range op time advancement.
2013-03-21 18:15:52 +01:00
Matt T. Proud
ceb6611957
Fix regression in subsequent range op. compactions.
...
We have an anomaly whereby subsequent range operations fail to be
compacted into one single range operation. This fixes such
behavior.
2013-03-21 18:11:04 +01:00
Matt T. Proud
bd8bb0edfd
One additional reduction.
2013-03-21 18:11:03 +01:00
Matt T. Proud
73b463e814
Additional simplifications.
2013-03-21 18:11:03 +01:00
Matt T. Proud
fd47ac570f
Implied simplifications.
2013-03-21 18:11:03 +01:00
Matt T. Proud
51a0f21cf8
Interim documentation
2013-03-21 18:11:03 +01:00
Matt T. Proud
b470f925b7
Extract rewriting of interval queries.
2013-03-21 18:11:03 +01:00
Matt T. Proud
eb721fd220
Include note about greediest range.
2013-03-21 18:11:03 +01:00
Julius Volz
e0dbc8c561
Fix edge cases in data extraction for point and interval ops.
2013-03-21 18:11:02 +01:00
Matt T. Proud
896e172463
Extract time group optimizations.
2013-03-21 18:08:48 +01:00
Matt T. Proud
5a71814778
Additional greediness.
2013-03-21 18:08:48 +01:00
Matt T. Proud
b00ca7e422
Refactor some greediness computations.
2013-03-21 18:08:48 +01:00
Matt T. Proud
978acd4e96
Simplify time group optimizations.
...
The old code performed well according to the benchmarks, but the
new code shaves 1/6th of the time off the original and with less
code.
2013-03-21 18:08:48 +01:00
Matt T. Proud
d7b534e624
Update documentation.
2013-03-21 18:08:48 +01:00
Matt T. Proud
615e6d13d7
Run `make format
`.
2013-03-21 18:08:47 +01:00
Julius Volz
caeb759ed7
Add tests for and fix getValuesAlongRangeOp value extraction.
2013-03-21 18:08:47 +01:00
Julius Volz
e2fb497eba
Add operator value extraction tests.
2013-03-21 18:08:47 +01:00
Julius Volz
12a8863582
Add data extraction methods to operator types.
2013-03-21 18:08:47 +01:00
Matt T. Proud
d5380897c3
Cleanups and adds performance regression.
2013-03-21 18:06:51 +01:00
Matt T. Proud
41068c2e84
Checkpoint.
2013-03-21 18:06:51 +01:00