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

Eliot Miranda eliot.miranda at gmail.com
Tue Jan 11 19:06:16 UTC 2022


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/0632d239/attachment.html>


More information about the Squeak-dev mailing list