-
-
Notifications
You must be signed in to change notification settings - Fork 33k
Closed
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)
Description
When a tight for loop without calls is turned into two traces that transfer directly to each other, it seems that CHECK_EVAL_BREAKER()
is never called, and the loop won't be interruptible.
See faster-cpython/ideas#669 (comment), where @brandtbucher and I reasoned that this might occur in the nbody benchmark (when the max trace length is reduced to 400).
While we didn't observe the predicted speedup, we really do believe that in this case the thread is uninterruptible.
@markshannon Any thoughts?
Linked PRs
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)