Faster y-range sorting #325
Labels
data-layer
real-time and historical data processing and storage
graphics
(charting related) geometry chops
perf
efficiency and latency optimization
After #302 lands there are 2 main sources of latency left in chart interaction:
redraw latency (a much larger task to deal with that will require
further extensions to our
Render
ing sub-systems) that contains:QPainterPath
for the data in viewmax()
/min()
sorting of the y-data in-viewnp.max()
/.min()
and very basic x-range caching inside our
Flow
type
which if there's conditions to actually redraw a large (1M datums +)
entire graphic in view, can be quite slow
In order to see this latency in action pass a
--profile 10
to yourpiker chart
command to see something like:Strategy to solve this: demire?
pass of historical data you can in theory compute the mx/mn output
for every higher level window size by recursively apply the algo on
past outputs (i'll have to write more details on this thinking,
but), in which case we could more or less build a sequence cache of
(window_size: int, lag: int)
which could be used to do a cachelookup for every zoome level? Def needs more deep thought.
calculus which requires
more or less the same mx/mn computations but is agnostic to the
runtime efficiency of these ops in the original paper.
The text was updated successfully, but these errors were encountered: