1 7763a61a 2003-11-23 devnull #include "stdinc.h"
4 7763a61a 2003-11-23 devnull Nblock = 300000,
5 cbeb0b26 2006-04-01 devnull BlockSize = 8*1024
8 7763a61a 2003-11-23 devnull uchar data[Nblock*VtScoreSize];
9 7763a61a 2003-11-23 devnull int rflag;
10 7763a61a 2003-11-23 devnull int nblock = 10000;
11 7763a61a 2003-11-23 devnull int perm[Nblock];
14 7763a61a 2003-11-23 devnull main(int argc, char *argv[])
16 7763a61a 2003-11-23 devnull VtSession *z;
17 7763a61a 2003-11-23 devnull int i, j, t;
18 7763a61a 2003-11-23 devnull int start;
19 7763a61a 2003-11-23 devnull uchar buf[BlockSize];
21 7763a61a 2003-11-23 devnull srand(time(0));
23 7763a61a 2003-11-23 devnull ARGBEGIN{
24 7763a61a 2003-11-23 devnull case 'r':
27 7763a61a 2003-11-23 devnull case 'n':
28 7763a61a 2003-11-23 devnull nblock = atoi(ARGF());
32 7763a61a 2003-11-23 devnull for(i=0; i<nblock; i++)
33 7763a61a 2003-11-23 devnull perm[i] = i;
35 7763a61a 2003-11-23 devnull if(rflag) {
36 7763a61a 2003-11-23 devnull for(i=0; i<nblock; i++) {
37 7763a61a 2003-11-23 devnull j = nrand(nblock);
38 7763a61a 2003-11-23 devnull t = perm[j];
39 7763a61a 2003-11-23 devnull perm[j] = perm[i];
40 7763a61a 2003-11-23 devnull perm[i] = t;
44 7763a61a 2003-11-23 devnull if(readn(0, data, VtScoreSize*nblock) < VtScoreSize*nblock)
45 7763a61a 2003-11-23 devnull sysfatal("read failed: %r");
47 7763a61a 2003-11-23 devnull vtAttach();
49 7763a61a 2003-11-23 devnull z = vtDial("iolaire2");
50 7763a61a 2003-11-23 devnull if(z == nil)
51 7763a61a 2003-11-23 devnull sysfatal("cound not connect to venti");
52 7763a61a 2003-11-23 devnull if(!vtConnect(z, 0))
53 7763a61a 2003-11-23 devnull vtFatal("vtConnect: %s", vtGetError());
55 7763a61a 2003-11-23 devnull print("starting\n");
57 7763a61a 2003-11-23 devnull start = times(0);
59 7763a61a 2003-11-23 devnull if(rflag && nblock > 10000)
60 7763a61a 2003-11-23 devnull nblock = 10000;
62 7763a61a 2003-11-23 devnull for(i=0; i<nblock; i++) {
63 7763a61a 2003-11-23 devnull if(vtRead(z, data+perm[i]*VtScoreSize, VtDataType, buf, BlockSize) < 0)
64 7763a61a 2003-11-23 devnull vtFatal("vtRead failed: %d: %s", i, vtGetError());
67 7763a61a 2003-11-23 devnull print("time = %f\n", (times(0) - start)*0.001);
69 7763a61a 2003-11-23 devnull vtClose(z);
70 7763a61a 2003-11-23 devnull vtDetach();