ref: 4cff2af5a4ff459f67aaa9cadf56913171891f95
dir: /iobench.c/
#include <u.h>
#include <libc.h>
void
runbench(Bench *b, int nb)
{
char *unit[] = {"ns", "us", "ms", "s"};
double oc, dt;
vlong t0, t1;
int i, j;
for(i = 0; i < nb; i++){
if(b[i].reps == 0)
b[i].reps = 1;
print("%15s:\t", b[i].name);
t0 = nsec();
oc = b[i].fn(&b[i]);
t1 = nsec();
dt = (t1 - t0);
for(j = 0; j < nelem(unit)-1; j++)
if(dt/1000 < 1)
break;
else
dt /= 1000.0;
print("%f%s (%f %s/%s)\n", dt, unit[j], (double)oc/dt, b[i].unit, unit[j]);
sleep(10*1000);
}
}
void
main(int argc, char **argv)
{
Bench marks[] = {