Coding started
So the plan is to wrap hotshot so it can behave exactly as the profile module. It will be a bit tricky as some things of the old profile module don't make sense anymore in hotshot.
Hotshot - Memory allocationSo I have been learning a lot the last couple of days about how profilers in python work. And now I have a clue of how the _hotshot module -the C module of hotshot which does all the work- works. In the process I noticed at least one unchecked malloc() use! And that while the Python documentation actually asks to use the python heap (by using PyMem_Malloc()
) as that is managed by the python memory manager and can keep track of how much memory is used.
While figuring out how hotshot does it's work I stumbled across some PyFrame_*
calls. Of course there is no documentation to find about this. Sigh. And that while Python is always so well documented! I also saw some PyEval_*
calls which are undocumented. At least some of the PyEval_*
calls are in the documentation, just not the ones used. Great.
0 comments:
New comments are not allowed.