commit e4f2b619a7de1b1fa1a23b38290b75822a6152a8
parent a7de34bfcef17b6dd8f51cf0cd813e61b361812a
Author: Matsuda Kenji <info@mtkn.jp>
Date: Sat, 16 Dec 2023 12:24:30 +0900
add benchmark for Read
Diffstat:
| A | file_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