On Thu, Sep 1, 2011 at 10:15 AM, Glyph Lefkowitz <glyph at twistedmatrix.com> wrote: > > On Sep 1, 2011, at 5:23 AM, Cesare Di Mauro wrote: > > A simple solution: when tracing is enabled, the new instruction format will > never be executed (and information tracking disabled as well). > > Correct me if I'm wrong: doesn't this mean that no profiler will accurately > be able to measure the performance impact of the new instruction format, and > therefore one may get incorrect data when on is trying to make a CPU > optimization for real-world performance? Well, profilers already skew results by adding call overhead. But tracing for debugging and profiling don't do exactly the same thing: debug tracing stops at every line, but profiling only executes hooks at the start and end of a function(*). So I think the function body could still be executed using the new format (assuming this is turned on/off per code object anyway). (*) And whenever a generator yields or is resumed. I consider that an annoying bug though, just as the debugger doesn't do the right thing with yield -- there's no way to continue until the yielding generator is resumed short of setting a manual breakpoint on the next line. -- --Guido van Rossum (python.org/~guido)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4