[fpc-pascal] Profiling in windows
James Richters
james.richters at productionautomation.net
Thu Jan 4 03:19:26 CET 2024
I have a freepascal project for Windows that works really well, but as soon
as I start it, I have high CPU usage, and it stays high, it constantly uses
10% CPU
while my program is running, even when it's idle waiting for me to make a
selection from its menu.
The main program loop does a few minor things like update the time on the
screen, checks some timers, checks for a keypress, then sleeps until it's
time to do the loop again.
I'm wondering if its getting stuck in some inefficient routine that's
causing all this processor activity.
This program only runs under Windows so I'm trying to get a profiler to work
with a windows program. I came across FPProfiler:
https://wiki.freepascal.org/FPProfiler
I'm trying to figure out how it's supposed to work but I haven't made it
very far. The instructions say to use Lazarus to build the following:
.\fpp\fpp.lpi
.\fpp\fppinsert.lpi
.\fpp\fppremove.lpi
.\fppview\fppview.lpi
But only .\fpp\fpp.lpi and .\fppview\fppview.lpi exist, so I compiled those
with Lazarus.
I am using the repository at:
http://github.com/graemeg/fpprofiler
The svn link doesn't work for me:
http://svn.freepascal.org/cgi-bin/viewvc.cgi/fpprofiler/?root=fpcprojects
Also, the instructions say," to compile your project, you pass the same
parameters to FPP as you would to FPC."
I don't use FPC from the command line, I use the FPC textmode IDE. Which I
have set up the way I like it years ago.
Is there some way to know what parameters the text mode IDE is using? Or
What would the command line be to compile the same way as the IDE?
Any advice on how to get this to work, or recommendations on another way I
can profile my program under Windows is greatly appreciated.
James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20240103/cab6183d/attachment-0001.htm>
More information about the fpc-pascal
mailing list