/* * test minimum select time * * ./prog usec [method [duration]] */ #include #include #include #include #include #include int main(int argc, char *argv[]) { struct timeval ta, tb; int usec = 1, i, j, total; for (usec = 10; usec <= 10000; usec *= 10) { total = 0; for (j = 0; j < 20; j++) { for (i = 0; i < 20; i++) usleep(usec); gettimeofday(&ta, NULL); usleep(10); gettimeofday(&tb, NULL); timersub(&tb, &ta, &tb); total += tb.tv_sec * 1000000 + tb.tv_usec; } fprintf(stdout, "%d %d \n", usec, total / 20 - 10); } return 0; }