From fafe0213c9022f298ec391c7907ed92762fbcd1b Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sun, 25 Jan 2026 07:03:15 -0800 Subject: Add a benchmark --- oae2_test.go | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'oae2_test.go') diff --git a/oae2_test.go b/oae2_test.go index e326ef2..b60be24 100644 --- a/oae2_test.go +++ b/oae2_test.go @@ -312,3 +312,50 @@ func FuzzSeekCurrent(f *testing.F) { } }) } + +func encrypt(buf *bytes.Buffer, data []byte) error { + w := NewWriter(buf, []byte("asdf"), 4*1024*1024) + if _, err := w.Write(data); err != nil { + return err + } + return w.Close() +} + +func BenchmarkWriter(b *testing.B) { + data := make([]byte, 10*1024*1024) + outBuffer := bytes.NewBuffer(make([]byte, 0, 32+3*16+len(data))) + for b.Loop() { + outBuffer.Reset() + if err := encrypt(outBuffer, data); err != nil { + b.Fatal(err) + } + } +} + +func decrypt(out []byte, data []byte) error { + r := NewReader(bytes.NewReader(data), []byte("asdf"), 4*1024*1024) + _, err := io.ReadFull(r, out) + return err +} + +func BenchmarkReader(b *testing.B) { + const ( + segmentSize = 4 * 1024 * 1024 + password = "asdf" + ) + data := make([]byte, 10*1024*1024) + encryptedBuf := new(bytes.Buffer) + w := NewWriter(encryptedBuf, []byte(password), segmentSize) + if _, err := w.Write(data); err != nil { + b.Fatal(err) + } + if err := w.Close(); err != nil { + b.Fatal(err) + } + encryptedData := encryptedBuf.Bytes() + for b.Loop() { + if err := decrypt(data, encryptedData); err != nil { + b.Fatal(err) + } + } +} -- cgit v1.3.1