i just wonder, what takes so much CPU time, even if it completely idle...
4831- NBCog 4.8 51519- NBCog 3.5
if i kill a UI process, the load goes down to 2.5-3 % ... still too much.
i would like to know how we can minimize this. The reason why i concerned is straightly pragmatic: extending battery life..
i found that if i run completely on battery.. it depleting quite fast with VM running (and i don't do anything just coding, i.e not running benchmarks, but more thinking and typing).
On Mon, Jun 4, 2012 at 12:56 PM, Igor Stasenko siguctua@gmail.com wrote:
i just wonder, what takes so much CPU time, even if it completely idle...
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.
4831- NBCog 4.8 51519- NBCog 3.5
if i kill a UI process, the load goes down to 2.5-3 % ... still too much.
i would like to know how we can minimize this. The reason why i concerned is straightly pragmatic: extending battery life..
i found that if i run completely on battery.. it depleting quite fast with VM running (and i don't do anything just coding, i.e not running benchmarks, but more thinking and typing).
-- Best regards, Igor Stasenko.
Hi Igor,
Quoting Igor Stasenko siguctua@gmail.com:
i just wonder, what takes so much CPU time, even if it completely idle...
4831- NBCog 4.8 51519- NBCog 3.5
if i kill a UI process, the load goes down to 2.5-3 % ... still too much.
Well, there are both image and VM issues here. I'll assume you're running Pharo on a Mac. Running Cuis on a Mac, when idle, uses 2.6 - 2.7%. So, the UI process can be optimized to the point where it takes almost zero CPU.
But there are VM platform code issues too. Doing the same on a Windows 7 Atom netbook, Cuis uses 0% (zero!) CPU.
i would like to know how we can minimize this. The reason why i concerned is straightly pragmatic: extending battery life..
i found that if i run completely on battery.. it depleting quite fast with VM running (and i don't do anything just coding, i.e not running benchmarks, but more thinking and typing).
-- Best regards, Igor Stasenko.
Cheers, Juan Vuletich
-------- Original-Nachricht --------
Quoting Igor Stasenko siguctua@gmail.com:
i just wonder, what takes so much CPU time, even if it completely
idle...
4831- NBCog 4.8 51519- NBCog 3.5
if i kill a UI process, the load goes down to 2.5-3 % ... still too much.
Well, there are both image and VM issues here. I'll assume you're running Pharo on a Mac. Running Cuis on a Mac, when idle, uses 2.6 - 2.7%. So, the UI process can be optimized to the point where it takes almost zero CPU.
But there are VM platform code issues too. Doing the same on a Windows 7 Atom netbook, Cuis uses 0% (zero!) CPU.
The reason for which is that ioRelinquishProcessor() is implemented in precisely the fashion Eliot described it in his earlier message, by calling a blocking function which wakes up when there is some activity (either UI or other such as sockets).
Cheers, - Andreas
vm-dev@lists.squeakfoundation.org