github.com/qri-io/qri@v0.10.1-0.20220104210721-c771715036cb/logbook/oplog/log_bench_test.go (about) 1 package oplog 2 3 import ( 4 "testing" 5 6 "github.com/dustin/go-humanize" 7 ) 8 9 func BenchmarkSave10kOpsOneAuthor(b *testing.B) { 10 tr, cleanup := newTestRunner(b) 11 defer cleanup() 12 13 init := Op{ 14 Type: OpTypeInit, 15 Model: 0xFFFF, 16 } 17 18 l := tr.RandomLog(init, 10000) 19 book := tr.Journal 20 if err := book.MergeLog(tr.Ctx, l); err != nil { 21 b.Fatal(err) 22 } 23 24 data, err := book.FlatbufferCipher(tr.PrivKey) 25 if err != nil { 26 b.Fatal(err) 27 } 28 29 b.Logf("one simulated log with 10k ops weighs %s as encrypted data", humanize.Bytes(uint64(len(data)))) 30 b.ResetTimer() 31 for n := 0; n < b.N; n++ { 32 if _, err := book.FlatbufferCipher(tr.PrivKey); err != nil { 33 b.Fatal(err) 34 } 35 } 36 }