lib9p

Go 9P library.
Log | Files | Refs | LICENSE

commit 86de50f8b279aad9a9eb319ae90b816bdc1a6bf8
parent 1c54003a003131e0babbaea113fa1f78fe3ee4e3
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Sat, 16 Dec 2023 12:07:38 +0900

add read bench

Diffstat:
Adiskfs/file_test.go | 49+++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+), 0 deletions(-)

diff --git a/diskfs/file_test.go b/diskfs/file_test.go @@ -0,0 +1,48 @@ +package diskfs + +import ( + "context" + "io" + "testing" + + "git.mtkn.jp/lib9p" + "git.mtkn.jp/lib9p/client" +) + +func BenchmarkRead(b *testing.B) { + cr, sw := io.Pipe() + defer cr.Close() + defer sw.Close() + sr, cw := io.Pipe() + defer sr.Close() + defer cw.Close() + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + disk, err := Open(testdir) + if err != nil { + b.Fatalf("open dir: %v", err) + } + s := lib9p.NewServer(disk, 8*1024, sr, sw) + go s.Serve(ctx) + c := client.NewClient(8*1024, "kenji", cr, cw) + defer c.Stop() + _, err = c.Attach(ctx, ^uint16(0), 0, lib9p.NOFID, "kenji", "") + if err != nil { + b.Fatalf("attach: %v", err) + } + wqid, err := c.Walk(ctx, 0, 0, 1, []string{"a"}) + if err != nil || len(wqid) != 1 { + b.Fatalf("walk: %v", err) + } + _, _, err = c.Open(ctx, 0, 1, lib9p.OREAD) + if err != nil { + b.Fatalf("open: %v", err) + } + for i := 0; i < b.N; i++ { + _, err := c.Read(ctx, 0, 1, 0, 8*1024) + if err != nil { + b.Fatalf("stat: %v", err) + } + } + +} +\ No newline at end of file