On 22/03/2026 19:02, mailinglists--- via fpc-pascal wrote:
On 2026-03-22 07:28, Martin Frb via fpc-pascal wrote:

May I be so curious to ask how the results compared to valgrind?

I went back to the same commit and retested with Valgrind. The profiling results were very close: 84% (gprof) vs. 80% (Valgrind) of call time spent in one method. Both reported the same overall issue. Valgrind also listed other methods, but they primarily lead up to the actual performance culprit. Overall, I felt gprof provided clearer results.

The biggest difference, however, was performance. With gprof, the application runs normally; I couldn't visually observe a noticeable runtime difference compared to when profiling is disabled. With Valgrind, it’s like playing a game at 2 FPS vs. the normal 60 FPS. It is nearly unusable in comparison.

Well, about what I would have expected. I don't know gprof, never took the time to set it up, but I am using valgrind.

I would expect gprof to have less granularity, so it will concentrate on the big issues, which is ok. What I like with valgrind is, that sometimes I can even get results for individual lines in a routine.

Don't know if you know, but in case, if you ever need it, one useful trick: Start valgrind with profiling disabled. then enable it just before you start the code that needs to be profiled, and disable it as soon as it finishes (well yes, that means a few minutes of eager waiting). But that way you remove any other execution from the result.

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to