#include #include #include /* How long does it take to stat a file? Minimum file system latency. */ void usage(void) { fprint(2, "usage: %s [-f file] [-i millisecs]\n", argv0); exits("usage"); } void main(int argc, char **argv) { float interval = 0; vlong before, after, diff; char* file = "."; uchar buf[STATMAX]; ARGBEGIN { case 'f': file = EARGF(usage()); break; case 'i': interval = atof(EARGF(usage())); if(interval < 0) usage(); break; default: usage(); break; } ARGEND; do { before = nsec(); stat(file, buf, sizeof(buf)); after = nsec(); diff = after-before; print("%s %,lld µs\n", file, diff); sleep((int)(interval*1000)); } while(interval); exits(nil); }