On 25 October 2013 01:43, John McIntosh johnmci@smalltalkconsulting.comwrote:
On Thu, Oct 24, 2013 at 7:38 PM, tim Rowledge tim@rowledge.org wrote:
On 24-10-2013, at 4:34 PM, Igor Stasenko siguctua@gmail.com wrote:
(e) Cog uses heartbeat timer to interrupt interpreter at regular time
periods
what can be done, i think it to suppress heartbeat, during
relinquishProcessorForMicroseconds execution.
but that won't buy much, unless we increase the time period to sleep to
be times larger than heartbeat cycle (both are 1ms).
If I understood, the timer coalescing can push timers around to produce spurts of activity followed by quiescence; this results in better overall power performance. It *might* cause problems with a high-frequency heartbeat.
You pick the "drain my battery real fast" option.... Also in the past known as "higher performance" to remove the delay in the morphic polling loop.
yeah, we should get rid of that polling thing and Delay, instead make it wait on semaphore..
P.S. what i missing on BSD systems is good analogy to WaitForMultipleEvents() function which available in Windows kernel. It is far superior to select() and poll(). i don't know, if situation is improved in this are since last time i checked.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim The problem with the gene pool is that there is no lifeguard.
--
John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882 ===========================================================================