TGE Profiler
by Steve Lamperti · in Torque Game Engine · 05/04/2005 (5:28 pm) · 6 replies
Is there some kind of tutorial or on-line doc for the built in profiler? I have added the code to some of my routines, and have managed to get a text file output file, but I am having trouble understanding what it means. Just a link to somewhere where the context is described would be very helpful.
Thanks,
Thanks,
#2
05/05/2005 (8:54 am)
The description in profiler.h is reasonably good about how to use the profiler. What I am having a bit of trouble with is understanding the output. I believe that NSTime means Non-sub time, and I am guessing that this means the amount of time spend in that code group, with the time in subroutines removed? Also, the two different sorting methods are confusing, and the percentages don't seem to add up in any meaningful way that I can follow.
#3
Remember that the profiler only tracks the blocks defined by PROfILER_START/END, not any actual structure from the code.
05/06/2005 (11:09 pm)
The non sub times should add up to 100%. The profiler can get a bit broken if you've got mismatched PROFILE_START/PROFILE_END blocks. The ROOT has no real values; ignore them.Remember that the profiler only tracks the blocks defined by PROfILER_START/END, not any actual structure from the code.
#4
05/08/2005 (9:51 pm)
Actually, I'd like it if someone spent a couple days really looking at the profiler for us. Espeically w/ the pre-release / unstable code for TGE 1.4 in the CVS repository. I haven't had time yet to test it in detail, none of us have recently, but there might be some funkiness in the profiler right now. I don't have the scrabbly notes I have on potential problems handy, but yeah, if somebody is doing some performance tuning on their project or just plain is curious about the profiler, we'd love to hear if you spot any issues with it.
#5
I'm running 1.4, and as far as I can tell it seems to be working ok.
05/09/2005 (8:59 am)
I've played with the profiler a bit more, and am finding it quite useful. I think my initial confusion about the numbers had something to do with a special circumstance in my project. (I'm running multiple threads, and as someone pointed out somewhere else, the profiler is definately not multithread friendly.) I just made the profiler ignore input from the wrong threads, and the numbers are making much more sense now.I'm running 1.4, and as far as I can tell it seems to be working ok.
#6
05/10/2005 (1:17 pm)
Cool, glad to hear.
Associate Kyle Carter