|
From: Rick G. <rcg...@ve...> - 2013-04-11 19:49:17
|
On 4/11/2013 11:31 AM, Niall Douglas wrote: >> An alternative approach that comes to my mind is to collect the hot >> paths, save them, and then post-process with the chip specific >> instruction timings. >> >> .... >> >> That said, if you have further ideas regarding your approach above, I would >> love to hear those for future reference. Collecting useful non-intrusive >> performance data is a problem for all of us anywhere in the software >> industry. >> >> Niall >> Sure - An area of personal long-term interest has been using path profiling to permit better optimizations/more context information/application behavior information. As part of delving into such, I have put together a whole program path profiler which is: temporally-preserving, lossless, and capable of capturing long (single-threaded) application traces. It is currently based upon PIN (www.pintool.org) : x86_64 Linux, 64-bit only at present. One item on my personal 'todo' list is to determine whether or not such could be hooked up to valgrind instead of PIN; if so, I would love to contribute it to valgrind for general use. It is available at: http://gorton-machine.org/rick/PathProfiling - which generally describes my collection approach. The C++ version is a from-scratch rewrite done in Nov./Dec. 2012. Would that (or some variant) help fit your needs? Regards, Richard |