Use trace_branch
monitoring for Scrutineer
#3781
Labels
enhancement
it's not broken, but we want it to be better
internals
Stuff that only Hypothesis devs should ever see
performance
go faster! use less memory!
In #3776 (comment), we decided to use the
trace_line
monitoring feature in order to ship a big speedup as soon as possible - and any users on Python 3.12 are now benefiting from that decision 😁Conceptually though, we should probably use the
trace_branch
monitor, and returnDISABLE
to minimize overhead by tracing each branch only once. This should be pretty easy to implement on the tracing side.I think it might also require some changes to the data structure and display logic to get compatible analyses and reporting; and depending on how that goes maybe also some test changes. For example, I have no idea how it'll handle multi-part conditionals, or ternary statements, etc. when we're not just using physical lines anymore.
#3551 discusses some related improvements to Scrutineer's reporting; they can be done in either order but ideally not in parallel.
The text was updated successfully, but these errors were encountered: