http://www.perlmonks.org?node_id=211611


in reply to Sleep has high cpu

In addition to brothers BUU and BrowserUk's apt wisdom, you may find this node by good monk Albannach to be of interest:

"while(1){} isn't idle, it's spinning madly behind the scenes, testing 1 as often as possible."


    cheers,
    Don
    striving toward Perl Adept
    (it's pronounced "why-bick")

Update: PM Search Is Your FriendTM   8^)

  • Comment on Re: Sleep has high cpu (sleep spins madly behind the scenes)

Replies are listed 'Best First'.
Re: Re: Sleep has high cpu (sleep spins madly behind the scenes)
by UnderMine (Friar) on Nov 09, 2002 at 12:25 UTC
    Some time ago I needed to have that kind of spinning (scanning large number of connections on a chat room for activity) but under low load, in the middle of the night, the same code killed the machine.

    I found using Time::HiRes to put a micro sleep inversely proportional to the number of active connections stopped the process from spinning out of control and allowed the OS to pre-empt the loop.

    Thanks

    UnderMine