So I've written the easy methods and functions of the
profile module wrapper
hprofile today. Including their unittests.
Tomorrow starts the harder work, the
Profile.calibrate code. Maybe I shouldn't be too optimistic about how far I'll get with it. For what it's worth, here my current ideas of how to do this:
calibrate()does roughly the same as the old one. Retruns the
bias, i.e. delay of function call overhead.
biasis set save this in the profile file as "extra info"
The biggest question is at the last point. Should I subclass the
hstats.Stats class to do this or make it a feature in the class itself? The question is really if the
bias will be significant or not when using hotshot. If it is I should probably move this calibration stuff to the
hotshot modules. But I'm sort of trying to postpone changes to hotshot as much as possible.
I don't really want to change too much to hotshot since I'm not sure how good it is to change the standard library and, most importantly, if the changes will be accepted in the stdlib. It will be a bit annoying to have to distribute a separate hotshot copy, also a maintenance pain since python doesn't use distributed version control...