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

Function BenchmarkBrotliReader

internal/compressions/reader_brotli_test.go:54–94  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

52}
53
54func BenchmarkBrotliReader(b *testing.B) {
55 data, err := os.ReadFile("./reader_brotli.go")
56 if err != nil {
57 b.Fatal(err)
58 }
59 var buf = bytes.NewBuffer([]byte{})
60 writer, err := compressions.NewBrotliWriter(buf, 5)
61 if err != nil {
62 b.Fatal(err)
63 }
64 _, err = writer.Write(data)
65 err = writer.Close()
66 if err != nil {
67 b.Fatal(err)
68 }
69 var compressedData = buf.Bytes()
70
71 b.ResetTimer()
72 b.RunParallel(func(pb *testing.PB) {
73 for pb.Next() {
74 reader, readerErr := compressions.NewBrotliReader(bytes.NewBuffer(compressedData))
75 if readerErr != nil {
76 b.Fatal(readerErr)
77 }
78 var readBuf = make([]byte, 1024)
79 for {
80 _, readErr := reader.Read(readBuf)
81 if readErr != nil {
82 if readErr != io.EOF {
83 b.Fatal(readErr)
84 }
85 break
86 }
87 }
88 closeErr := reader.Close()
89 if closeErr != nil {
90 b.Fatal(closeErr)
91 }
92 }
93 })
94}

Callers

nothing calls this directly

Calls 8

WriteMethod · 0.95
CloseMethod · 0.95
ReadMethod · 0.95
CloseMethod · 0.95
NewBrotliWriterFunction · 0.92
NewBrotliReaderFunction · 0.92
BytesMethod · 0.80
NextMethod · 0.80

Tested by

no test coverage detected