[fpc-pascal] How to find where my app consumes CPU?

Travis Siegel tsiegel at softcon.com
Wed May 19 17:42:30 CEST 2021


On 5/19/2021 9:53 AM, Henry Vermaak wrote:
> On Wed, 19 May 2021 at 14:36, Travis Siegel via fpc-pascal
> <fpc-pascal at lists.freepascal.org> wrote:
>> No doubt your sleep code works just fine.
>>
>> I'm not saying the sleep command doesn't work.
>>
>> I'm saying the sleep command doesn't release unused cpu cycles for other
>> threads/programs to use.
> No, fpc uses nanosleep() inside sysutils.sleep() which is documented
> to suspend execution (i.e. no busy waiting) so the kernel will switch
> to another thread/process.

That's useful information.

I did run across nanosleep in my digging, but I wasn't aware the sleep 
command called it.

I'm still a (little) puzzled though, why there are so many different 
suspend/sleep modes in linux kernel implementations. They appear to do 
similar things, so perhaps it's just incremental differences, depending 
on what's trying to be accomplished, or maybe, under the hood, they all 
call the same routines, I can't really say, but it sure has been 
educational digging around to find answers.



More information about the fpc-pascal mailing list