MCPcopy
hub / github.com/valyala/fasthttp / BenchmarkCopyZeroAllocBytesBufferToOSFile

Function BenchmarkCopyZeroAllocBytesBufferToOSFile

http_timing_test.go:31–67  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

29}
30
31func BenchmarkCopyZeroAllocBytesBufferToOSFile(b *testing.B) {
32 f, err := os.Open("./README.md")
33 if err != nil {
34 b.Fatal(err)
35 }
36 defer f.Close()
37
38 buf := &bytes.Buffer{}
39 _, err = io.Copy(buf, f)
40 if err != nil {
41 b.Fatal(err)
42 }
43
44 tmp, err := os.CreateTemp(os.TempDir(), "test_*")
45 if err != nil {
46 b.Fatal(err)
47 }
48 defer os.Remove(tmp.Name())
49
50 w, err := os.OpenFile(tmp.Name(), os.O_WRONLY, 0o444)
51 if err != nil {
52 b.Fatal(err)
53 }
54 defer w.Close()
55
56 b.ResetTimer()
57 for i := 0; i < b.N; i++ {
58 _, err := w.Seek(0, 0)
59 if err != nil {
60 b.Fatal(err)
61 }
62 _, err = copyZeroAlloc(w, buf)
63 if err != nil {
64 b.Fatal(err)
65 }
66 }
67}
68
69func BenchmarkCopyZeroAllocOSFileToStringsBuilder(b *testing.B) {
70 r, err := os.Open("./README.md")

Callers

nothing calls this directly

Calls 4

copyZeroAllocFunction · 0.85
OpenMethod · 0.80
RemoveMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…