[squeak-dev] Measuring process time of the VM (user+sys)

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Tue Jan 11 19:33:56 UTC 2022


Thanks for the fast reply, Eliot! So the idle time tells me the amount of time for which the VM has been non-busy, but without an active clock, subtracting suspension windows by the CI runner is impossible for now. I'll see what I can make of this. :-)


Best,

Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Eliot Miranda <eliot.miranda at gmail.com>
Gesendet: Dienstag, 11. Januar 2022 20:06:16
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] Measuring process time of the VM (user+sys)

Hi Christoph,

On Jan 11, 2022, at 5:21 AM, Thiede, Christoph <Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:



Hi all,


I am running some performance benchmarks using #timeToRunWithoutGC via smalltalkCI on GitHub Actions (Ubuntu) and am observing a very high standard deviation of the results. I suppose that GitHub is temporarily suspending my workflow for reasons. Is my assumption correct that such suspensions would *not* be transparent to primitiveUTCMicrosecondClock, which acts similar to a wall clock? Does the VM provide any means to measure the time that was actually spent inside the VM process? I believe I am searching for an equivalent of the linux time command where I would sum up user + system time (because expensive I/O calls from my benchmarked code are indeed relevant) and then subtract the GC time. Is there already any support for this in the VM, or would this require major efforts?

The VM does maintain an idle time, accessible via vmParameterAt: .  Use the About Squeak’s VM parameters tab to find out which it is. The idle time gets incremented in relinquishProcessorForMicroseconds: from the idleProcess.

There’s a thread on squeak-dev or vm-dev from perhaps five years ago by Ryan Macnak suggesting that the vm maintain an active time rather than an idle time, and that it be hooked into sleep events.  I think this is a good idea but I don’t have cycles to implement it, so the idle time is what we have at the moment.


Thanks in advance!


Best,

Christoph

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220111/10e67053/attachment.html>


More information about the Squeak-dev mailing list