On my box, (a P3/450) usleep seems to have an overhead of about 10000usec
and a minimum response time of about 20000
/* my test prog:
* (based on yours)
*/
#include <unistd.h>
#include <sys/time.h>
struct timeval tv1,tv2;
#define PAUSE 100000
int main()
{
while (1)
{
int i;
double sum=0.0,t;
gettimeofday(&tv2, NULL);
printf("hello\n");
for(i = 0; i < 20 ; i++)
{
gettimeofday(&tv1, NULL);
usleep(PAUSE);
gettimeofday(&tv2, NULL);
printf("slept %9.6fs\n", t=tv2.tv_sec+tv2.tv_usec*.000001
-tv1.tv_sec-tv1.tv_usec*.000001 );
sum+=t;
}
printf ("average %9.6fs\n",sum/i);
sleep (5);
}
}
Lee Chin wrote:
> I would think the following code would wait for 1 second each itteration before
printing hello, but it waits way too long. Replacing the for loop body with a
> usleep(1000000) works great... what am I missing here?
>
> Thanks
> Lee
--
Stephen Samuel +1(604)876-0426 [EMAIL PROTECTED]
http://www.bcgreen.com/~samuel/
Powerful committed communication, reaching through fear, uncertainty and
doubt to touch the jewel within each person and bring it to life.
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs