BSD 4_3_Net_2 release
[unix-history] / usr / src / sys / tests / nfs / unix-tests / special / stat2.c
/* @(#)stat2.c 1.2 90/01/03 NFS Rev 2 Testsuite
* 1.3 Lachman ONC Test Suite source
*
* create a bunch of files and stat them repeatedly
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef SVR3
#include <sys/fs/nfs/time.h>
#else
#include <sys/time.h>
#endif
int stats = 0;
main(argc, argv)
int argc;
char *argv[];
{
struct timeval stim, etim;
float elapsed;
int files, count;
register int i, j;
char name[256];
struct stat statb;
if (argc != 4) {
fprintf(stderr, "usage: %s dir files count\n", argv[0]);
exit(1);
}
if (mkdir(argv[1], 0777) < 0) {
perror(argv[1]);
}
chdir(argv[1]);
files = atoi(argv[2]);
count = atoi(argv[3]);
for (i=0; i<files; i++) {
sprintf(name, "%d", i);
close(creat(name, 0666));
}
gettimeofday(&stim, 0);
for (i=0; i<count; i++) {
for (j=0; j<files; j++) {
sprintf(name, "%d", i);
stat(name, &statb);
stats++;
}
}
gettimeofday(&etim, 0);
elapsed = (float) (etim.tv_sec - stim.tv_sec) +
(float)(etim.tv_usec - stim.tv_usec) / 1000000.0;
fprintf(stdout, "%d calls in %f seconds (%f calls/sec)\n",
stats, elapsed, (float)stats / elapsed);
exit(0);
}