commit 86de50f8b279aad9a9eb319ae90b816bdc1a6bf8
parent 1c54003a003131e0babbaea113fa1f78fe3ee4e3
Author: Matsuda Kenji <info@mtkn.jp>
Date: Sat, 16 Dec 2023 12:07:38 +0900
add read bench
Diffstat:
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