From 152c9e2c9811920e54a9d4aaecf47a3c78aedc3f Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Fri, 2 Dec 2022 20:05:49 -0500 Subject: [PATCH] Drop `index_field` input to renders, add `.read()` profiling --- piker/ui/_render.py | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/piker/ui/_render.py b/piker/ui/_render.py index 1caa8365..5a45cfbe 100644 --- a/piker/ui/_render.py +++ b/piker/ui/_render.py @@ -44,10 +44,6 @@ from ..data._formatters import ( StepCurveFmtr, # "step" curve (like for vlm) ) from ..data._pathops import xy_downsample -from .._profile import ( - pg_profile_enabled, - # ms_slower_then, -) from ._ohlc import ( BarItems, # bar_from_ohlc_row, @@ -58,7 +54,10 @@ from ._curve import ( FlattenedOHLC, ) from ..log import get_logger -from .._profile import Profiler +from .._profile import ( + Profiler, + pg_profile_enabled, +) log = get_logger(__name__) @@ -102,7 +101,7 @@ def render_baritems( fmtr=OHLCBarsFmtr( shm=viz.shm, viz=viz, - index_field=viz.index_field, + # index_field=viz.index_field, ), ) @@ -111,7 +110,7 @@ def render_baritems( fmtr=OHLCBarsAsCurveFmtr( shm=viz.shm, viz=viz, - index_field=viz.index_field, + # index_field=viz.index_field, ), ) @@ -192,6 +191,7 @@ def render_baritems( curve.hide() bars.show() bars.update() + # breakpoint() return ( graphics, @@ -401,6 +401,7 @@ class Viz(msgspec.Struct): # , frozen=True): self, array_field: Optional[str] = None, index_field: str | None = None, + profiler: None | Profiler = None, ) -> tuple[ int, int, np.ndarray, @@ -418,6 +419,9 @@ class Viz(msgspec.Struct): # , frozen=True): # readable data array = self.shm.array + if profiler: + profiler('self.shm.array READ') + ( ifirst, l, @@ -429,6 +433,9 @@ class Viz(msgspec.Struct): # , frozen=True): # if rbar < lbar: # breakpoint() + if profiler: + profiler('self.datums_range()') + abs_slc = slice(ifirst, ilast) # TODO: support time slicing @@ -454,6 +461,12 @@ class Viz(msgspec.Struct): # , frozen=True): # f'start/stop: {lbar},{rbar}\n', # f'diff: {diff}\n', # ) + if profiler: + profiler( + '`Flume.slice_from_time(' + f'start_t={lbar}' + f'stop_t={rbar})' + ) # array-index slicing # TODO: can we do time based indexing using arithmetic presuming @@ -470,6 +483,8 @@ class Viz(msgspec.Struct): # , frozen=True): # XXX: same as ^ # to_draw = array[lbar - ifirst:(rbar - ifirst) + 1] + if profiler: + profiler('index arithmetic for slicing') if array_field: array = array[array_field] @@ -513,7 +528,7 @@ class Viz(msgspec.Struct): # , frozen=True): read = ( xfirst, xlast, src_array, ivl, ivr, in_view, - ) = self.read() + ) = self.read(profiler=profiler) profiler('read src shm data') @@ -562,7 +577,6 @@ class Viz(msgspec.Struct): # , frozen=True): fmtr=StepCurveFmtr( shm=self.shm, viz=self, - index_field=self.index_field, ), )