<br><br><div class="gmail_quote">On Mon, Jun 4, 2012 at 12:56 PM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com" target="_blank">siguctua@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
i just wonder, what takes so much CPU time, even if it completely idle...<br></blockquote><div><br></div><div>The basic issue is the idle process that spins doing a yield instead of blocking.  Basically, instead of ioRelinquishProcessorForMicroseconds the VM should enter a blocking call that will terminate when the next delay or i/o event occurs.  This requires rearchitecting delays because currently the VM polls for delay expiry.  For the VM to block while a delay is active there must be a delay callback/signal/interrupt etc that has the side-effect of terminating the blocking call.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
4831-  NBCog        4.8<br>
51519- NBCog        3.5<br>
<br>
if i kill a UI process, the load goes down to 2.5-3 % ...<br>
still too much.<br>
<br>
i would like to know how we can minimize this.<br>
The reason why i concerned is straightly pragmatic: extending battery life..<br>
<br>
i found that if i run completely on battery.. it depleting quite fast<br>
with VM running (and i don&#39;t do anything just coding, i.e not running<br>
benchmarks, but more thinking and typing).<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Best regards,<br>
Igor Stasenko.<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>