Been playing with my experimental profiler (Coldshot) all day.
At this point it can load an OpenGLContext run with 207MB of trace data and produce a basic textual summary (both cProfile-style calls/timing and file:line level timings) in around 4s. That's still quite slow, as the profiler records around 4MB/second of data, so multi-GB traces seems pretty likely. The call traces are ~1.5MB/second while the line traces are ~2.5MB/second, so it seems we'll likely want an option to turn off line tracing (and context managers, and a dozen other niceties, I'm sure).
Profiling performance seems pretty good, I see a drop of 10fps while doing profiling (from 70fps to 60fps). Haven't done any optimisations yet to see if I can improve that.
There appear to be some issues with built-in function identification/uniqueness, but those look solvable. So far there's about 900 lines of code, 700 of that being Cython.
Pingbacks are closed.