Statistical Profiling (and other fun with the sys module)
Profiling involves computing a set of data about how often and how long various parts of your program are executed. Profiling is useful to understand what makes your program slow and how you can improve it. After a quick review of deterministic profiling tools and techniques, I will describe how you can do statistical profiling with existing packages or write your own from scratch. Statistical profiling involves occasionally sampling what your program is doing instead of watching each line or …