Skip to content

Commit 64369cd

Browse files
authored
perf: reduce reentrant render-lock overhead in progress pipeline (#61)
1 parent 01aea77 commit 64369cd

1 file changed

Lines changed: 0 additions & 14 deletions

File tree

logbar/progress.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -991,7 +991,6 @@ def _render_position(self) -> int:
991991

992992
return self.step()
993993

994-
@_render_locked
995994
def _should_render(self, force: bool = False, allow_repeat: bool = False) -> bool:
996995
"""Return whether this logical state change should emit a new frame."""
997996

@@ -1011,7 +1010,6 @@ def _should_render(self, force: bool = False, allow_repeat: bool = False) -> boo
10111010

10121011
return (current_step - last_output_step) >= self._output_interval
10131012

1014-
@_render_locked
10151013
def _resolve_rendered_line(
10161014
self,
10171015
columns: int,
@@ -1096,7 +1094,6 @@ def draw(self, force: bool = False):
10961094
if not sys.is_finalizing():
10971095
raise
10981096

1099-
@_render_locked
11001097
def calc_time(self, iteration, total_steps=None):
11011098
"""Return elapsed and estimated remaining time for the progress line."""
11021099

@@ -1110,7 +1107,6 @@ def calc_time(self, iteration, total_steps=None):
11101107
remaining = str(datetime.timedelta(seconds=int((used_time / max(completed, 1)) * total_steps)))
11111108
return f"{formatted_time} / {remaining}"
11121109

1113-
@_render_locked
11141110
def _render_snapshot(
11151111
self,
11161112
columns: Optional[int] = None,
@@ -1195,7 +1191,6 @@ def _render_snapshot(
11951191
self._last_rendered_line = rendered_line
11961192
return rendered_line
11971193

1198-
@_render_locked
11991194
def _render_line(
12001195
self,
12011196
bar_plain: str,
@@ -1272,7 +1267,6 @@ def append_segment(text: str, rendered: Optional[str] = None, plain: Optional[st
12721267

12731268
return rendered_out
12741269

1275-
@_render_locked
12761270
def _animated_text(self, text: str) -> str:
12771271
"""Apply the sweeping highlight effect to one title-like string."""
12781272

@@ -1320,7 +1314,6 @@ def _truncate_ansi(self, text: str, limit: int) -> str:
13201314

13211315
return truncate_ansi(text, limit)
13221316

1323-
@_render_locked
13241317
def _should_animate_title(
13251318
self,
13261319
backend_state: Optional[RenderBackendState] = None,
@@ -1340,15 +1333,13 @@ def _should_animate_title(
13401333
style_enabled = state.supports_styling
13411334
return bool(style_enabled) and (state.supports_cursor or state.notebook)
13421335

1343-
@_render_locked
13441336
def __bool__(self):
13451337
"""Mirror the truthiness of the wrapped iterable when defined."""
13461338

13471339
if self.iterable is None:
13481340
raise TypeError('bool() undefined when iterable == total == None')
13491341
return bool(self.iterable)
13501342

1351-
@_render_locked
13521343
def __len__(self):
13531344
"""Return the total number of logical steps when it can be inferred."""
13541345

@@ -1416,7 +1407,6 @@ def __hash__(self):
14161407

14171408
return id(self)
14181409

1419-
@_render_locked
14201410
def step(self) -> int:
14211411
"""Return the current logical progress position."""
14221412

@@ -1573,19 +1563,16 @@ def _tick_background_refresh(self, now: float) -> bool:
15731563

15741564
return changed
15751565

1576-
@_render_locked
15771566
def _advance_phase(self, steps: int = 1) -> None:
15781567
"""Move the spinner head forward by one or more frames."""
15791568

15801569
self._phase = (self._phase + max(1, int(steps))) % 1_000_000
15811570

1582-
@_render_locked
15831571
def _render_position(self) -> int:
15841572
"""Use animation phase instead of step count for redraw throttling."""
15851573

15861574
return self._phase
15871575

1588-
@_render_locked
15891576
def _render_snapshot(
15901577
self,
15911578
columns: Optional[int] = None,
@@ -1639,7 +1626,6 @@ def _render_snapshot(
16391626

16401627
return self._last_rendered_line
16411628

1642-
@_render_locked
16431629
def _render_animation(self, bar_length: int, *, supports_styling: bool = True) -> tuple[str, str]:
16441630
"""Render the rolling head and trailing tail for the spinner bar."""
16451631

0 commit comments

Comments
 (0)