<br><br><div class="gmail_quote">On Mon, May 27, 2013 at 12:19 AM, <a href="mailto:phil@highoctane.be">phil@highoctane.be</a> <span dir="ltr">&lt;<a href="mailto:phil@highoctane.be" target="_blank">phil@highoctane.be</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr">I am currently experimenting with Pharo on Amazon EC2.<div><br></div><div>I&#39;d like to keep the CPU usage low for when Pharo hasn&#39;t anything special to do.</div>
<div><br></div><div>At the moment, I see that Pharo uses 2-3% of the CPU when just blinking the caret.</div>


<div><br></div><div>Is there a way to get that lower? Even if it means tweaking the VM.</div></div></blockquote><div><br></div><div>IMO it means tweaking the VM so that when there are no runnable processes the VM enters a blocking wait state from which it will wake if any of the following occur</div>
<div>- the current delay expires</div><div>- a file becomes readable</div><div>- a UI event is delivered</div><div>- a signal is delivered</div><div><br></div><div>And if the VM were multi-threaded (e.g. in the way the Python VM is multi-threaded) an additional wake-up is</div>
<div>- a callback from some thread other than the current VM thread occurs</div><div><br></div><div>This is e.g. the way the VisualWorks VM works.</div><div><br></div><div>Right now the VM aborts if there are no runnable processes and hence the system requires a background process that loops and simply calls relinquishProcessorForMicroseconds:</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>The OS is Ubuntu 12 LTS</div><div><br></div><div>Thanks!</div></div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>