MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / BenchmarkZSTDReader

Function BenchmarkZSTDReader

internal/compressions/reader_zstd_test.go:56–106  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

54}
55
56func BenchmarkZSTDReader(b *testing.B) {
57 var randomData = func() []byte {
58 var b = strings.Builder{}
59 for i := 0; i < 1024; i++ {
60 b.WriteString(types.String(rands.Int64() % 10))
61 }
62 return []byte(b.String())
63 }
64
65 var buf = &bytes.Buffer{}
66 writer, err := compressions.NewZSTDWriter(buf, 5)
67 if err != nil {
68 b.Fatal(err)
69 }
70 _, err = writer.Write(randomData())
71 if err != nil {
72 b.Fatal(err)
73 }
74 err = writer.Close()
75 if err != nil {
76 b.Fatal(err)
77 }
78
79 b.ResetTimer()
80
81 for i := 0; i < b.N; i++ {
82 var newBytes = make([]byte, buf.Len())
83 copy(newBytes, buf.Bytes())
84 reader, err := compressions.NewZSTDReader(bytes.NewReader(newBytes))
85 if err != nil {
86 b.Fatal(err)
87 }
88 var data = make([]byte, 4096)
89 for {
90 n, err := reader.Read(data)
91 if n > 0 {
92 _ = data[:n]
93 }
94 if err != nil {
95 if err == io.EOF {
96 break
97 }
98 b.Fatal(err)
99 }
100 }
101 err = reader.Close()
102 if err != nil {
103 b.Fatal(err)
104 }
105 }
106}

Callers

nothing calls this directly

Calls 10

WriteMethod · 0.95
CloseMethod · 0.95
ReadMethod · 0.95
CloseMethod · 0.95
NewZSTDWriterFunction · 0.92
NewZSTDReaderFunction · 0.92
WriteStringMethod · 0.80
BytesMethod · 0.80
StringMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected