Forums

C equivalent of MATLAB profiler

Started by Unknown May 17, 2006
Hi,
is there a tool for windows that does the same as the matlab profiler
does, I need to accurately measure the CPU time for every instruction.
Thanks,
Alessandro

Yeah, it's called the assembly language manual. Intel used to have
the reference manuals on-line. Take a Google.

--Randy

Alessandro--

>Hi, >is there a tool for windows that does the same as the matlab profiler >does, I need to accurately measure the CPU time for every instruction. >Thanks, >Alessandro
Well as Randy said, the assembly manual is the most assured way of understanding CPU cycles for assembly code. But this approach gets very complicated when: 1]High-levels of determinisms are required(unlikely in a desktop application) 2] Application is huge and is written in high-level languages like C and C++, hence estimating cycles from assembly code is impractical. 3] When underlying architecture(CPU) is super scalar. (Predicting the pipelining and parallilsm at compile time in a super scalar architecture is not possible) A]VTune: ------- If you fall in any of the above case then you should get yourself a windows based, pentium CPU profiler called:VTUNE. Its a very powerful profiler used to benchmark pentium code. Try this link for product overview: http://www.intel.com/software/products/vtune/ Try these links for VTune Demo and Tutorials: http://www.cs.huji.ac.il/course/2004/ssd/profilers/vtune_v7_b42.exe http://www.cs.huji.ac.il/course/2004/ssd/profilers/gs_vtune.zip http://www.cs.huji.ac.il/course/2004/ssd/profilers/VTUNEDEMO.ZIP B] VC++ Profiler If you are looking at a VC++ based profiler, look at the following link: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_core_function_profiling.asp C] VC++ Vs Rational Quantify: Trade-offs between VC++ based profiler and IBM Rationals' Quantify tool, look at the following link: http://www.cs.umd.edu/hcil/academics/courses/fall1999/cmsc838s/Apps/billshap/ D] And for a generic presentation on profilers and their use: http://www.cs.huji.ac.il/course/2004/ssd/profilers/profilers.ppt Hope this helps. --Bhooshan
alessandro.saccoia@gmail.com wrote:
> Hi, > is there a tool for windows that does the same as the matlab profiler > does, I need to accurately measure the CPU time for every instruction.
Yes, it is called a profiler. Most compiler Integrated Developer Environments (IDE) provide one. Some IDE manufacturers make several versions of their IDEs. You may have to buy a professional edition IDE, intended for more serious developers, to get the profiler. Rune
Alessandro wrote:
>Hi, is there a tool for windows that does the same as the matlab profiler >does, I need to accurately measure the CPU time for every instruction.
When you say instructions, you probably don't mean machine instructions. In the C world people usually talk about statements and function calls. If you really mean machine instructions, get the intel cpu manuals and look at the assembly code generated by the compiler. Otherwise use a profiler. If you work with gnu tools (e.g. mingw) there are two programs for profiling: gcov and gprof. gr. Anton
Thank you, I'm looking at VTune' tutorials.
Ale