Forum OpenACS Q&A: C-based TCL profiler

4: C-based TCL profiler (response to 1)
Posted by Eric Lorenzo on

I attempted to get the tcllib profiler working under AOLserver a while back, and failed miserably. I've forgotten the details, though. I'd be a little worried about the quality of the data collected by the tcllib profiler, anyways -- from what I remember, the actual profile data collection was written in TCL. I would imagine that this would add significant overhead to TCL execution, and would skew the resulting data somewhat.

Since I couldn't get the tcllib profiler working, and I wasn't sure that it would work very well, and had been getting the urge to do some C hacking, I wrote my own TCL profiler as an AOLserver C module. I'm actually in the middle of cleaning it up a bit at the moment, and will probably post it for download within the next couple of days.

I have very mixed feelings about the usefulness of this C-based profiler, though. For one thing, if I understand what I'm seeing in the TCL interpreter source code correctly, the mechanism I'm using to catch and log proc invocations prevents the interpreter from storing any compiled bytecode, which will surely skew the results somewhat. And I think that the database is still going to be the biggest bottleneck, most of the time.