MCPcopy
hub / github.com/tinylib/msgp / BenchmarkWriteReadFile

Function BenchmarkWriteReadFile

msgp/file_test.go:71–106  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

69)
70
71func BenchmarkWriteReadFile(b *testing.B) {
72 // let's not run out of disk space...
73 if b.N > 10000000 {
74 b.N = 10000000 //nolint:staticcheck // ignoring "SA3001: should not assign to b.N (staticcheck)" as this should not usually happen.
75 }
76
77 fname := "bench-tmpfile"
78 f, err := os.Create(fname)
79 if err != nil {
80 b.Fatal(err)
81 }
82 defer func(f *os.File, name string) {
83 f.Close()
84 os.Remove(name)
85 }(f, fname)
86
87 data := make(Blobs, b.N)
88
89 for i := range data {
90 data[i].Name = blobstrings[prand.Intn(len(blobstrings))]
91 data[i].Float = blobfloats[prand.Intn(len(blobfloats))]
92 data[i].Amount = blobints[prand.Intn(len(blobints))]
93 data[i].Bytes = blobbytes[prand.Intn(len(blobbytes))]
94 }
95
96 b.SetBytes(int64(data.Msgsize() / b.N))
97 b.ResetTimer()
98 err = msgp.WriteFile(data, f)
99 if err != nil {
100 b.Fatal(err)
101 }
102 err = msgp.ReadFile(&data, f)
103 if err != nil {
104 b.Fatal(err)
105 }
106}

Callers

nothing calls this directly

Calls 3

WriteFileFunction · 0.92
ReadFileFunction · 0.92
MsgsizeMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…