(b *testing.B)
| 86 | } |
| 87 | |
| 88 | func BenchmarkCopyZeroAllocIOLimitedReaderToOSFile(b *testing.B) { |
| 89 | f, err := os.Open("./README.md") |
| 90 | if err != nil { |
| 91 | b.Fatal(err) |
| 92 | } |
| 93 | defer f.Close() |
| 94 | |
| 95 | r := io.LimitReader(f, 1024) |
| 96 | |
| 97 | tmp, err := os.CreateTemp(os.TempDir(), "test_*") |
| 98 | if err != nil { |
| 99 | b.Fatal(err) |
| 100 | } |
| 101 | defer os.Remove(tmp.Name()) |
| 102 | |
| 103 | w, err := os.OpenFile(tmp.Name(), os.O_WRONLY, 0o444) |
| 104 | if err != nil { |
| 105 | b.Fatal(err) |
| 106 | } |
| 107 | defer w.Close() |
| 108 | |
| 109 | b.ResetTimer() |
| 110 | for i := 0; i < b.N; i++ { |
| 111 | _, err := w.Seek(0, 0) |
| 112 | if err != nil { |
| 113 | b.Fatal(err) |
| 114 | } |
| 115 | _, err = copyZeroAlloc(w, r) |
| 116 | if err != nil { |
| 117 | b.Fatal(err) |
| 118 | } |
| 119 | } |
| 120 | } |
| 121 | |
| 122 | func BenchmarkCopyZeroAllocOSFileToOSFile(b *testing.B) { |
| 123 | r, err := os.Open("./README.md") |
nothing calls this directly
no test coverage detected
searching dependent graphs…