Hi Nicolas, this is really interesting. Have you tried other platforms? (In MacOS the interpreter and the display update run in different threads.) Also, perhaps you could see if the jitter correlates with the heartbeat thread (I think its 1 ms, not sure), or you could change the VM parameter for hearbeat period and see if it makes any difference?<div><br></div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, May 13, 2026 at 02:18 Nicolás Papagna Maldonado via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Hi folks,</div><div><br></div><div>I'm in the process of doing performance benchmarks of my Code Coverage tool for my thesis, and I've encountered something interesting while measuring the test execution times of the Aconcagua package.</div><div><br></div><div><b>Observation:</b><br>When running the Aconcagua test suite 150 times in a clean image, the execution times are not normally distributed. Instead, they fall into two distinct "modes":<br><br><img src="cid:ii_mp2zz9lt2" alt="image.png" style="width: 758px; max-width: 100%; background-color: rgba(0, 0, 0, 0) !important; border-color: rgb(255, 255, 255) !important; color: rgb(255, 255, 255) !important;"><br>A Base Mode (~6.28 ms): Representing roughly 72% of the iterations.<br>A Spike Mode (~7.0 ms): Representing roughly 28% of the iterations.<br><br>As the next plot shows, the spikes are not random; they seem to be kind-of deterministic (roughly every 4th iteration).</div><div>I think these perturbations are visible because I'm taking very small measurements (~6.28 ms).</div><div><img src="cid:ii_mp2ziel81" alt="image.png" style="width: 1180px; max-width: 100%; background-color: rgba(0, 0, 0, 0) !important; border-color: rgb(255, 255, 255) !important; color: rgb(255, 255, 255) !important;"><br><br><b>Question:</b><br>I am trying to isolate whether this "heartbeat" is originating from within the Cuis image or the VM/OS layer (I'm thinking of VM timer/events, maybe UI timers?)</div><div>Does anyone know what could be causing this?</div><div>Are there any known events that run at this particular frequency?</div><div><br></div><div>I repeated the experiment a couple of times and the perturbations are consistent (in terms of ms and frequency).</div><div><br></div><div><b>Methodology:</b></div><div><ul><li>Measurements were taken in batches of 50 test runs.</li><li>Each batch was run in a fresh image, waiting 2 minutes for the VM to stabilize Cuis code.</li><li>10 warmup runs were done and discarded before measuring test run times.</li><li>Measurements were taken using Time primHighResClock and converted to ms using Time highResTimerTicksPerMillisecond.</li><li>VM stats were collected before and after measurements. A full GC was run before taking measurements.</li><li>No GC activity was observed while measuring the tests run (VM stats report no full nor incremental GCs).</li><li>The test suite was created and run from a workspace</li></ul></div><div><b>Cuis environment:</b><br><ul><li>Cuis Smalltalk commit: <a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/commit/b221722348cc46ebb9f5d9f3a057a3f361aa3d55" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/commit/b221722348cc46ebb9f5d9f3a057a3f361aa3d55</a></li><li>Code Coverage commit: <a href="https://github.com/npapagna/cuis-code-coverage/commit/db19de02250a3fd50dfc4e0b4d0893b656e31e9b" target="_blank">https://github.com/npapagna/cuis-code-coverage/commit/db19de02250a3fd50dfc4e0b4d0893b656e31e9b</a></li><li>Aconcagua commit: <a href="https://github.com/Cuis-Smalltalk/Measures/commit/05aa02aada64f7b64898a5e1452ae8fb76f79427" target="_blank">https://github.com/Cuis-Smalltalk/Measures/commit/05aa02aada64f7b64898a5e1452ae8fb76f79427</a></li></ul><b>Machine environment:</b><br><ul><li>Model Name: MacBook Pro</li><li>Model Identifier:       MacBookPro18,3</li><li>Model Number:        MKGR3LL/A</li><li>Chip:     Apple M1 Pro</li><li>Total Number of Cores: 8 (6 Performance and 2 Efficiency)</li><li>Memory:  16 GB</li><li>System Firmware Version:      13822.81.10</li><li>OS Loader Version:      13822.81.102</li><li>APPLE SSD AP0512R (NVMe, avg read 5671 MB/s, avg write 5670 MB/s)</li><li>macOs 26.3 (25D125)</li><li>A dedicated fresh profile was created for the benchmarks (indexing, time machine, screen lock/saver, display shutdown, bluetooth and wifi disabled).</li></ul></div></div><div dir="ltr"><div>Thanks in advance,</div><div>Nico PM</div></div></div><div dir="ltr"><div dir="ltr"><div><br></div></div>
</div>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>