Skip to content

Do not block on first pull when timestamp processing enabled. - #36

Merged
cboulay merged 2 commits into
mainfrom
cboulay/noblock_first_pull
Jun 30, 2026
Merged

Do not block on first pull when timestamp processing enabled.#36
cboulay merged 2 commits into
mainfrom
cboulay/noblock_first_pull

Conversation

@cboulay

@cboulay cboulay commented Jun 30, 2026

Copy link
Copy Markdown
Member

First data triggers liblsl's proc_ALL warmup (dejitter/monotonize/ clocksync init) which can occupy the event-loop thread for tens of ms and stall a co-located outlet. Run pulls on a worker thread (liblsl releases the GIL via ctypes) UNTIL the first data arrives — absorbing the warmup off the loop — then pull inline (non-blocking) so steady state has zero per-pull thread-hop overhead regardless of stream rate.

cboulay added 2 commits June 30, 2026 00:26
…ocksync init) which can occupy the event-loop thread for tens of ms and stall a co-located outlet. Run pulls on a worker thread (liblsl releases the GIL via ctypes) UNTIL the first data arrives — absorbing the warmup off the loop — then pull inline (non-blocking) so steady state has zero per-pull thread-hop overhead regardless of stream rate.
@cboulay
cboulay merged commit c580e68 into main Jun 30, 2026
14 checks passed
@cboulay
cboulay deleted the cboulay/noblock_first_pull branch June 30, 2026 04:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant