Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is VTune Worth Considering for Delphi?

Running through all the questions on profiling tools, I was surprised to discover VTune by Intel that I hadn't heard of before. At $700, it is even more expensive than AQTime.

But before I make the decision to put down the big bucks for AQTime, has anyone used VTune for Delphi, and if so, do you think it has any benefits that may make it a better choice than AQTime and the other profiling tools for Delphi that are out there?

like image 647
lkessler Avatar asked Dec 21 '09 07:12

lkessler


Video Answer


2 Answers

VTune can read low level CPU counters, like branch prediction, cache misses, etc. I used it to find out why TopMM (multithreaded scaling memory manager!) was very slow on my Hyperthreading CPU. Was something about 64kb memory cache aliasing. So it gives more in-dept information how it really runs on a CPU, and why something is slow due to cache misses etc. For real optimalisation (last %) I would use both, for normal optimalisation use AQ or other (like my asmprofiler :-) )

like image 179
André Avatar answered Sep 19 '22 23:09

André


You can download 30 days vtune trial and try by yourself.

I have used AQTime and VTune.

VTune is good if you want to test multithreaded application - it help me to find locks in memory manager which slow down my multithreaded part of application.

Secend difference is that VTune is sample profiler and AQTime is instrument profiler. Both has strong and weak points but I personaly prefer instrument one. With instrument profiler you get exactly information how many times your function was called, all caller of this procedure etc with cost of inaccurate time results - instrumentation profilers change a way processor executing code, so branch predictions and cache works different that in real and tested app work slow.

But most important is GUI and here AQTime win. It is powerfull application but very easy in use. VTune is quite different. I lost too much time to find right command in VTune. GUI is very messy.

So except of multithreading I use AQTime.

like image 45
Macedonczyk Avatar answered Sep 19 '22 23:09

Macedonczyk