I have a port scanning application that uses work queues and threads.
It uses simple TCP connections and spends a lot of time waiting for packets to come back (up to half a second). Thus the threads don't need to fully execute (i.e. first half sends a packet, context switch, does stuff, comes back to thread which has network data waiting for it).
I suspect I can improve performance by modifying the sys.setcheckinterval from the default of 100 (which lets up to 100 bytecodes execute before switching to another thread).
But without knowing how many bytecodes are actually executing in a thread or function I'm flying blind and simply guessing values, testing and relying on the testing shows a measurable difference (which is difficult since the amount of code being executed is minimal; a simple socket connection, thus network jitter will likely affect any measurements more than changing sys.setcheckinterval).
Thus I would like to find out how many bytecodes are in certain code executions (i.e. total for a function or in execution of a thread) so I can  make more intelligent guesses at what to set sys.setcheckinterval to.
Reasoning about a system of this complexity will rarely produce the right answer.  Measure the results, and use the setting that runs the fastest.  If as you say, testing can't measure the difference in various settings of setcheckinterval, then why bother changing it?  Only measurable differences are interesting.   If your test run is too short to provide meaningful data, then make the run longer until it does.
How do I count bytecodes in Python so I can modify sys.setcheckinterval appropriately