#include #include #define OLOOP 5000 int tickflg = 0; int oloop = OLOOP; /* Hacky mips a la MIT V6+ Unix 'mips' (the source for which I cannot * find anywhere). * Inner object = 1000 instructions. * Loop is OLOOP*1000 --> OLOOP million instructions. */ int main(argc, argv) int argc; char *argv[]; { char *arg; int i, j; register int k; int extime; time_t sttime, endtime; argv++; for (argc--; (argc > 0); argc--) { arg = *argv; if (*arg++ != '-') break; argv++; switch (*arg) { case 'o': oloop = atoi(*argv++); argc--; break; case 't': tickflg++; break; default: printf("Bad flag: %c", *arg); exit(1); } } sttime = time(NULL); k = 0; for (i = 0; (i < oloop); i++) { for (j = 0; (j < 1000); j++) { k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; k++; } if (tickflg == 0) continue; printf("#"); if ((i != 0) && ((i % 50) == 0)) printf("\n"); fflush(stdout); } endtime = time(NULL); extime = ((int) (endtime - sttime)); if (tickflg != 0) printf("\n"); printf("\nmips: %d\n", (oloop / extime)); }