You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
TypedPython: chunked range loops poll every 16.7M iterations instead of every 4096 #280
cgen.py ~2081 (#206 chunked polling) runs a chunk of TP_POLL_INTERVAL iterations and then calls self.poll(), which emits the countdown form tp_pc_tick(&tp_pc) && tp_poll_slow(...). The countdown also starts at TP_POLL_INTERVAL, so tp_poll_slow runs once per 4096*4096 iterations. A compiled loop under ~16.7M iterations never reaches a safepoint: it blocks stop-the-world (gc.get_objects on 3.15t), KeyboardInterrupt and other eval-breaker work for its whole duration. Found while writing the #143 gc race test.
Done when: the chunk loop calls the slow poll once per chunk; a test asserts a signal/breaker set during a long compiled loop is seen within about TP_POLL_INTERVAL iterations.
Activity
Merge pull request #284 from thisisthepy/feat/tp-chunk-poll
b-re-w commentedon Oct 25, 2026
Landed in develop via the PR from feat/tp-chunk-poll.
Merge pull request #362 from thisisthepy/feat/tp-eval-breaker-flake