<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"><br></div><div dir="ltr"><br><blockquote type="cite">On Sep 1, 2020, at 6:55 AM, Marcel Taeumel <marcel.taeumel@hpi.de> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        Hi Tony.<div><br></div><div>Can you improve the situation by tuning:</div><div><br></div><div>ProcessorScheduler class >> #idleProcess</div><div>WorldState >> #interCyclePause:</div></div></div></blockquote><div><br></div>This will always be a hack.  The right solution is to have the vm scheduler enter a wait state when there are no runnable processes and to have no background process to needlessly consume cycles.  The event architecture needs to allow input events to be one of the conditions (the other being i/o in sockets files et al) that the vm waits on. This is one of the key things that is meant by the “event driven vm”.<div><br></div><div>The other thing that is meant by “event driven vm” is that the vm runs within the GUI event loop rather than the vm calling it.  I’m not sure how important this is; input events seem to work just fine with what we have.  So the key thing it seems to me is blocking on input (& pending output) when there is nothing to do rather than spinning a background process that calls a primitive that blocks.<br><div><br><blockquote type="cite"><div dir="ltr"><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000"><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 01.09.2020 15:50:53 schrieb Tony Garnock-Jones <tonyg@leastfixedpoint.com>:</p><div style="font-family:Arial,Helvetica,sans-serif">It occurs to me that to get better power efficiency, Squeak may need to<br>learn how to go to sleep more often. At present it's using about a<br>quarter of a core on my phone when I'm not doing anything to it.<br><br>JIT could help that, I guess; but more generally, it'd be nice just not<br>to be awake when there's nothing pressing to do...<br><br>Tony<br><br></div></blockquote>
                                        </div><span></span><br></div></blockquote></div></div></body></html>