lib9p

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

commit e4f2b619a7de1b1fa1a23b38290b75822a6152a8
parent a7de34bfcef17b6dd8f51cf0cd813e61b361812a
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Sat, 16 Dec 2023 12:24:30 +0900

add benchmark for Read

Diffstat:
Afile_test.go | 45+++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+), 0 deletions(-)

diff --git a/file_test.go b/file_test.go @@ -0,0 +1,44 @@ +package lib9p_test + +import ( + "context" + "io" + "testing" + + "git.mtkn.jp/lib9p" + "git.mtkn.jp/lib9p/client" + "git.mtkn.jp/lib9p/testfs" +) + +func BenchmarkRead(b *testing.B) { + sr, cw := io.Pipe() + defer sr.Close() + defer cw.Close() + cr, sw := io.Pipe() + defer cr.Close() + defer sw.Close() + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + s := lib9p.NewServer(testfs.FS, 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{"dir", "file"}) + if err != nil || len(wqid) != 2 { + b.Fatalf("walk: %v, %v", wqid, 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("read: %v", err) + } + } +} +\ No newline at end of file