0

This question Measure execution time... allows programmers to find good tools to evaluate execution times of executable files using command line on Windows. My question is a bit different. Please do not consider it a duplicate.

I have a general .exe executable file on Windows. I need to evaluate performance (so execution times too) of this executable while running.

But please consider that I would like to use a software able to get a very detailed performance/time report. Something very similar to what Visual Studio does with its Performance Reports in Analysis Tools. You would suggest me to use Visual Studio, but, unfortunately, I need to evaluate times for all possible executables under Windows in a very general way (not just for .NET applications).

However, Visual Studio allows to evaluate performance of an executable, but, I experienced that it cannot analyze executable written in languages not included in the .NET domain (in particular I need to evaluate times and performance for Visual-Prolog, C, C++0x programs)

The evaluation is not made at compile time or at test or simulation time. It must be done at execution time and every possible executable file should be provided to this time-evaluator.

So, a program like this

StartTimer.exe /param value1
CallMyExeFile.exe
StopTimer.exe

...is not what I am looking for. This is just a simple counter, I need a more detailed tool which shows me a detailed report of execution times and performance of my application.

If there's a free tool, it is welcome, however, please, feel free to suggest me every possible solution to this problem of mine.

Community
  • 1
  • 1
Andry
  • 14,281
  • 23
  • 124
  • 216
  • What do you mean by "every possible executable file"? For example, Visual Studio uses different mechanisms for doing performance measurements on managed vs unmanaged code. – Chris O Mar 04 '11 at 22:34
  • I mean executable compiled with every possible compiler, Visual-Prolog, C, C++, VisualC++ VisualBasic 6.0- and other)... – Andry Mar 04 '11 at 22:49

1 Answers1

2

It's far from a complete answer, but you might start by looking here. Windows contains extensive monitoring tools that can be used to perform fine grained analysis of system performance. Since the tools are measuring Windows internal artifacts (context switch times, thread times, etc) they can work with any arbitrary executable.

One major challenge of using the xperf toolset is that you get a lot of data (every time I do perf analysis, it amazes me the amount of instrumentation for performance analysis built into Windows (and the fact that that instrumentation works with essentially no overhead)). It can take a significant amount of time to figure out what information is useful and what is noise.

I'm sorry I can't give a more specific answer but your question is fairly vague.

  • No Larry it is a good answer, really. I didn't think of those tools by Microsoft and really blame myself for this... Thankyou very much... – Andry Mar 05 '11 at 09:53
  • WPT by Microsoft Is a very excellent tool. Thank you for letting me know. :) – Andry Mar 05 '11 at 11:05