Le nonidi 19 prairial, an CCXI, Nick Name a écrit : > If I put the delay into the cycle, I can't get less than 1/100 of second > delay, on any machine I do this test. I guess you didn't try with Linux/alpha :) The 1/100 of second is the time slice of the scheduler of the OS. Anything that sleeps by calling the OS will sleep at least that. > Is there a portable function that > can do a shorter delay, say 1/1000 of second ad least? You need to do busy wait: keep running and check the clock until the delay is over. Please note that busy wait is considered evil. > Sys.time returns an almost constant value! This also happens if I use > Unix.select [] [] [] mydelay instead of Thread.delay. I suspect this > happens because some sort of counter gets reset by a delay, but this > makes no sense. The answer is in the manual: Sys.time returns the processor time of your program. While sleeping, your program does not burn CPU, so Sys.time does not grow. It will only grow during the phases between the sleeps, and this will be much slower than whithout sleep.