Jump to content
Vandrovnik

Profiler for Delphi

Recommended Posts

On 4/24/2020 at 3:09 AM, pyscripter said:

https://github.com/ase379/gpprofile2017

A revamped version of the good old instrumenting profiler by @Primož Gabrijelčič. 

Yes it is. Clearly mentioned by the current maintainer. @Primož Gabrijelčič is a highly skilled Delphi developer, that's why I'm interested in GpProfile2017 and I ask here for feedback from actual user of GpProfile2017.

Share this post


Link to post
1 hour ago, FPiette said:

I ask here for feedback from actual user of GpProfile2017.

I used it a couple of times and it worked well as far as instrumental profilers go.

  • Thanks 1

Share this post


Link to post
1 minute ago, David Heffernan said:

It extremely hard to see past vtune

I dunno. Don't you find VTune's poor performance to be a problem?

Personally I either need to be really desperate before I resort to VTune or I must have a very good idea about what I'm looking for (like, I need *this* exact function to be faster but I don't exactly know how to make it so).

I have had successes with VTune in cases where I needed to optimize some SSE code but that's about it. On the project I'm working on right now (pure Pascal) it takes VTune over an hour to load the pdb file and so far it hasn't told me anything I didn't already know (from pausing in the debugger).

  • Sad 1

Share this post


Link to post
1 hour ago, Anders Melander said:

Don't you find VTune's poor performance to be a problem?

No, it performs really well for me. Are you using the latest version? It loads quickly for me and does a good job of taking me to the parts of the code where the time is being spent. 

Share this post


Link to post
Just now, David Heffernan said:

No, it performs really well for me. Are you using the latest version?

I'm on Windows 7 (on my main dev system) so no 😕

The latest version that works on Windows 7 is VTune Amplifier 2019. I guess I should give it a spin on my laptop (Windows 10 something something) instead before I judge it.

That said, the version of msdia140.dll (which is Microsoft's interface to the pdb file) I'm using is the latest one and as far as I can see msdia140.dll is the bottleneck. Of course it might be that my version of VTune isn't using it correctly.

 

I was just considering writing a replacement for msdia140.dll but it would be great if I don't have to go down that rabbit hole.

Share this post


Link to post

I've downloaded the "latest" VTune Profiler, 2022.1 but it doesn't even touches the pdb file. Luckily I'm not using this app at all.

edit:

forgot to bind... stay tuned

Edited by Attila Kovacs

Share this post


Link to post
45 minutes ago, Anders Melander said:

I'm on Windows 7 (on my main dev system) so no 😕

The latest version that works on Windows 7 is VTune Amplifier 2019. I guess I should give it a spin on my laptop (Windows 10 something something) instead before I judge it.

That said, the version of msdia140.dll (which is Microsoft's interface to the pdb file) I'm using is the latest one and as far as I can see msdia140.dll is the bottleneck. Of course it might be that my version of VTune isn't using it correctly.

 

I was just considering writing a replacement for msdia140.dll but it would be great if I don't have to go down that rabbit hole.

I'm using the latest vtune and didn't need to do anything with msdia140 and it all works perfectly. 

  • Thanks 1

Share this post


Link to post

@Anders Melander I've installed the VTune Profiler 2022.1.0/621966 and loaded an exe with a 31MB pdb and the hotspot analysis took about a minute.

I think this was way slower back in the days you wrote the converter. Give it a try on an other machine.

  • Thanks 1

Share this post


Link to post
6 hours ago, David Heffernan said:

It extremely hard to see past vtune

I had great results with VTune and map2pdb a while back, however I've since built a new AMD Ryzen based machine and VTune doesn't work on amd 😞 

Share this post


Link to post
4 minutes ago, Vincent Parrett said:

I had great results with VTune and map2pdb a while back, however I've since built a new AMD Ryzen based machine and VTune doesn't work on amd 😞 

AMD have their own tool I think. No idea how good it is. 

Share this post


Link to post
4 minutes ago, David Heffernan said:

AMD have their own tool I think. No idea how good it is. 

I only tried it briefly but it barfed on the pdb that map2pdb generates - I haven't had time to get back on it... I solved the perf issue I was looking at with vtune and haven't needed to profile again lately.

Share this post


Link to post
37 minutes ago, David Heffernan said:

AMD have their own tool I think. No idea how good it is.

It works fine but it's nowhere near as comprehensive as VTune. One advantage is that it works on both AMD and Intel platforms.

image.thumb.png.8092e48e04a7086cf7e9e48adaf132f2.png

image.thumb.png.61e398026680eed1b00c3adb67667c42.png

image.thumb.png.4756ae0c0479cb1b38d4ac5cdf5d7481.png

 

32 minutes ago, Vincent Parrett said:

I only tried it briefly but it barfed on the pdb that map2pdb generates

I have AMD uProf version 3.2.449 installed and that works fine on my system.

Share this post


Link to post
2 minutes ago, Anders Melander said:

I have AMD uProf version 3.2.449 installed and that works fine on my system.

I'll have to try it again when time permits - I think the version I tried was older than that (was a while ago now). 

Share this post


Link to post
On 1/16/2022 at 1:31 PM, FPiette said:

This stops at Delphi 10.3. I'm using Delphi 11.

It does not - it simply does not contain that version in some Combobox.

SamplingProfiler (both 32 and 64) works with the latest Delphi versions just fine.

 

For VTune - I am so happy they finally added Flamegraph to the Hotspot profiler.

Edited by Stefan Glienke
  • Thanks 1

Share this post


Link to post
2 hours ago, Tom F said:

SmartBear AQTime.  It felt it was designed for C/C++ and that Delphi was added as an afterthought.  

I'm pretty sure it was the other way round. AFAIK it's still written in Delphi.

  • Like 3

Share this post


Link to post
3 hours ago, Anders Melander said:

I'm pretty sure it was the other way round. AFAIK it's still written in Delphi.

Wow. I didn't know that. As I recall at the time, from my experience with the UI, functionality, documentation, and support, I concluded that SmartBear didn't have much commitment to Delphi.  Perhaps I was wrong. Thanks for the info, @Anders Melander

Share this post


Link to post

Smartbear aquired AutomatedQA who developed AQTime. It was written in Delphi back in those days (as were their other tools), the initial version was great, worked really well with delphi and was really useful. Later versions completely changed things to focus more on .net and didn't work well with delphi.. I stopped upgrading. To make matters worse, their licensing mechanism was/is terrible, you will find plenty of people complaining about it on the interwebs. 

Share this post


Link to post

Yes, no that you mention it, their licensing scheme was terrible. In all fairness, it was perhaps tougher to do back then than now?

 

And thanks for the confirmation about the history of the product.

Share this post


Link to post

@Anders Melander I tested amd uprof with map2pdb and can confirm it does work. I had 3.4 something installed, and saw there was an update to 3.5 available.. imho 3.5 is worse than 3.4 - I thought the intel vtune ui was terrible, but uprof is 10 times worse. Upgrading also deletes any old sessions.. which means you have to go through the tedious process of adding the source folders again (there is no option to include subfolders.. grrrr). 

Share this post


Link to post

Hi, looking for a profiler in 2023. I'm a small-project user and so don't really want to pay.

 

I use RAD Studio 10.4.2, any suggestions?

Share this post


Link to post

Replying again because I forgot to check "notify me of replies", and the site doesn't provide a way to do this after replying :classic_dry:

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×