From: khaines@... Date: 2007-04-27T05:06:43+09:00 Subject: Re: 10 millisecond delay/callback On Fri, 27 Apr 2007, Earle Clubb wrote: > I need to perform a task every 10ms. I've been using > kernel.sleep(0.01), but sleep seems to be slow and erratic at sub-second > resolutions. Here's a test I ran along with the results: > > irb(main):001:0> 0.upto(25) do > irb(main):002:1* puts Time.now.usec/1000 > irb(main):003:1> STDOUT.flush > irb(main):004:1> sleep 0.01 > irb(main):005:1> end > 105 > 132 > 143 > 162 > 191 Try select() ---- irb(main):005:0> 0.upto(25) do irb(main):006:1* select(nil,nil,nil,0.01) irb(main):007:1> puts Time.now.usec/1000 irb(main):008:1> end 138 148 158 168 178 188 198 208 218 228 238 248 258 268 278 288 298 308 318 328 338 348 358 368 378 388 Kirk haines