예제 #1
0
파일: bench.go 프로젝트: hugelgupf/ninep
func benchZero(b *testing.B, msize, iosize uint32, clnt *clnt.Clnt, rootfid *clnt.Fid) {

	d := clnt.FidAlloc()
	if _, err := clnt.Walk(rootfid, d, []string{"zero"}); err != nil {
		b.Fatalf("%v", err)
	}

	if err := clnt.Open(d, 0); err != nil {
		b.Fatalf("%v", err)
	}

	for i := 0; i < b.N; i++ {
		for tot := uint32(0); tot < iosize; {
			if n, err := clnt.Read(d, 0, iosize); err != nil {
				b.Fatalf("%v: only got %d of %d bytes", err, len(n), iosize)
			} else {
				tot += uint32(len(n))
			}
		}
	}
}