Skip to content

Commit b0e9636

Browse files
committed
wire: consistently use defer for returning scratch buffers
1 parent 8c4da83 commit b0e9636

19 files changed

+138
-187
lines changed

wire/bench_test.go

+26-37
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"bytes"
99
"compress/bzip2"
1010
"fmt"
11+
"io"
1112
"io/ioutil"
1213
"net"
1314
"os"
@@ -66,7 +67,7 @@ func BenchmarkWriteVarInt1(b *testing.B) {
6667
b.ReportAllocs()
6768

6869
for i := 0; i < b.N; i++ {
69-
WriteVarInt(ioutil.Discard, 0, 1)
70+
WriteVarInt(io.Discard, 0, 1)
7071
}
7172
}
7273

@@ -76,7 +77,7 @@ func BenchmarkWriteVarInt3(b *testing.B) {
7677
b.ReportAllocs()
7778

7879
for i := 0; i < b.N; i++ {
79-
WriteVarInt(ioutil.Discard, 0, 65535)
80+
WriteVarInt(io.Discard, 0, 65535)
8081
}
8182
}
8283

@@ -86,7 +87,7 @@ func BenchmarkWriteVarInt5(b *testing.B) {
8687
b.ReportAllocs()
8788

8889
for i := 0; i < b.N; i++ {
89-
WriteVarInt(ioutil.Discard, 0, 4294967295)
90+
WriteVarInt(io.Discard, 0, 4294967295)
9091
}
9192
}
9293

@@ -96,7 +97,7 @@ func BenchmarkWriteVarInt9(b *testing.B) {
9697
b.ReportAllocs()
9798

9899
for i := 0; i < b.N; i++ {
99-
WriteVarInt(ioutil.Discard, 0, 18446744073709551615)
100+
WriteVarInt(io.Discard, 0, 18446744073709551615)
100101
}
101102
}
102103

@@ -159,7 +160,7 @@ func BenchmarkWriteVarIntBuf1(b *testing.B) {
159160

160161
buffer := binarySerializer.Borrow()
161162
for i := 0; i < b.N; i++ {
162-
WriteVarIntBuf(ioutil.Discard, 0, 1, buffer)
163+
WriteVarIntBuf(io.Discard, 0, 1, buffer)
163164
}
164165
binarySerializer.Return(buffer)
165166
}
@@ -171,7 +172,7 @@ func BenchmarkWriteVarIntBuf3(b *testing.B) {
171172

172173
buffer := binarySerializer.Borrow()
173174
for i := 0; i < b.N; i++ {
174-
WriteVarIntBuf(ioutil.Discard, 0, 65535, buffer)
175+
WriteVarIntBuf(io.Discard, 0, 65535, buffer)
175176
}
176177
binarySerializer.Return(buffer)
177178
}
@@ -183,7 +184,7 @@ func BenchmarkWriteVarIntBuf5(b *testing.B) {
183184

184185
buffer := binarySerializer.Borrow()
185186
for i := 0; i < b.N; i++ {
186-
WriteVarIntBuf(ioutil.Discard, 0, 4294967295, buffer)
187+
WriteVarIntBuf(io.Discard, 0, 4294967295, buffer)
187188
}
188189
binarySerializer.Return(buffer)
189190
}
@@ -195,7 +196,7 @@ func BenchmarkWriteVarIntBuf9(b *testing.B) {
195196

196197
buffer := binarySerializer.Borrow()
197198
for i := 0; i < b.N; i++ {
198-
WriteVarIntBuf(ioutil.Discard, 0, 18446744073709551615, buffer)
199+
WriteVarIntBuf(io.Discard, 0, 18446744073709551615, buffer)
199200
}
200201
binarySerializer.Return(buffer)
201202
}
@@ -292,7 +293,7 @@ func BenchmarkWriteVarStr4(b *testing.B) {
292293
b.ReportAllocs()
293294

294295
for i := 0; i < b.N; i++ {
295-
WriteVarString(ioutil.Discard, 0, "test")
296+
WriteVarString(io.Discard, 0, "test")
296297
}
297298
}
298299

@@ -302,7 +303,7 @@ func BenchmarkWriteVarStr10(b *testing.B) {
302303
b.ReportAllocs()
303304

304305
for i := 0; i < b.N; i++ {
305-
WriteVarString(ioutil.Discard, 0, "test012345")
306+
WriteVarString(io.Discard, 0, "test012345")
306307
}
307308
}
308309

@@ -343,7 +344,7 @@ func BenchmarkWriteVarStrBuf4(b *testing.B) {
343344

344345
buf := binarySerializer.Borrow()
345346
for i := 0; i < b.N; i++ {
346-
writeVarStringBuf(ioutil.Discard, 0, "test", buf)
347+
writeVarStringBuf(io.Discard, 0, "test", buf)
347348
}
348349
binarySerializer.Return(buf)
349350
}
@@ -355,7 +356,7 @@ func BenchmarkWriteVarStrBuf10(b *testing.B) {
355356

356357
buf := binarySerializer.Borrow()
357358
for i := 0; i < b.N; i++ {
358-
writeVarStringBuf(ioutil.Discard, 0, "test012345", buf)
359+
writeVarStringBuf(io.Discard, 0, "test012345", buf)
359360
}
360361
binarySerializer.Return(buf)
361362
}
@@ -392,7 +393,7 @@ func BenchmarkWriteOutPoint(b *testing.B) {
392393
Index: 0,
393394
}
394395
for i := 0; i < b.N; i++ {
395-
WriteOutPoint(ioutil.Discard, 0, 0, op)
396+
WriteOutPoint(io.Discard, 0, 0, op)
396397
}
397398
}
398399

@@ -407,7 +408,7 @@ func BenchmarkWriteOutPointBuf(b *testing.B) {
407408
Index: 0,
408409
}
409410
for i := 0; i < b.N; i++ {
410-
writeOutPointBuf(ioutil.Discard, 0, 0, op, buf)
411+
writeOutPointBuf(io.Discard, 0, 0, op, buf)
411412
}
412413
binarySerializer.Return(buf)
413414
}
@@ -480,7 +481,7 @@ func BenchmarkWriteTxOut(b *testing.B) {
480481

481482
txOut := blockOne.Transactions[0].TxOut[0]
482483
for i := 0; i < b.N; i++ {
483-
WriteTxOut(ioutil.Discard, 0, 0, txOut)
484+
WriteTxOut(io.Discard, 0, 0, txOut)
484485
}
485486
}
486487

@@ -492,7 +493,7 @@ func BenchmarkWriteTxOutBuf(b *testing.B) {
492493
buf := binarySerializer.Borrow()
493494
txOut := blockOne.Transactions[0].TxOut[0]
494495
for i := 0; i < b.N; i++ {
495-
WriteTxOutBuf(ioutil.Discard, 0, 0, txOut, buf)
496+
WriteTxOutBuf(io.Discard, 0, 0, txOut, buf)
496497
}
497498
binarySerializer.Return(buf)
498499
}
@@ -533,7 +534,7 @@ func BenchmarkWriteTxIn(b *testing.B) {
533534
buf := binarySerializer.Borrow()
534535
txIn := blockOne.Transactions[0].TxIn[0]
535536
for i := 0; i < b.N; i++ {
536-
writeTxInBuf(ioutil.Discard, 0, 0, txIn, buf)
537+
writeTxInBuf(io.Discard, 0, 0, txIn, buf)
537538
}
538539
binarySerializer.Return(buf)
539540
}
@@ -608,15 +609,9 @@ func BenchmarkDeserializeTxLarge(b *testing.B) {
608609
}
609610

610611
func BenchmarkDeserializeBlock(b *testing.B) {
611-
f, err := os.Open(
612+
buf, err := os.ReadFile(
612613
"testdata/block-00000000000000000021868c2cefc52a480d173c849412fe81c4e5ab806f94ab.blk",
613614
)
614-
if err != nil {
615-
b.Fatalf("Failed to open block file: %v", err)
616-
}
617-
defer f.Close()
618-
619-
buf, err := ioutil.ReadAll(f)
620615
if err != nil {
621616
b.Fatalf("Failed to read block data: %v", err)
622617
}
@@ -633,15 +628,9 @@ func BenchmarkDeserializeBlock(b *testing.B) {
633628
}
634629

635630
func BenchmarkSerializeBlock(b *testing.B) {
636-
f, err := os.Open(
631+
buf, err := os.ReadFile(
637632
"testdata/block-00000000000000000021868c2cefc52a480d173c849412fe81c4e5ab806f94ab.blk",
638633
)
639-
if err != nil {
640-
b.Fatalf("Failed to open block file: %v", err)
641-
}
642-
defer f.Close()
643-
644-
buf, err := ioutil.ReadAll(f)
645634
if err != nil {
646635
b.Fatalf("Failed to read block data: %v", err)
647636
}
@@ -656,7 +645,7 @@ func BenchmarkSerializeBlock(b *testing.B) {
656645
b.ResetTimer()
657646

658647
for i := 0; i < b.N; i++ {
659-
block.Serialize(ioutil.Discard)
648+
block.Serialize(io.Discard)
660649
}
661650
}
662651

@@ -667,7 +656,7 @@ func BenchmarkSerializeTx(b *testing.B) {
667656

668657
tx := blockOne.Transactions[0]
669658
for i := 0; i < b.N; i++ {
670-
tx.Serialize(ioutil.Discard)
659+
tx.Serialize(io.Discard)
671660

672661
}
673662
}
@@ -710,7 +699,7 @@ func BenchmarkSerializeTxSmall(b *testing.B) {
710699
b.ResetTimer()
711700

712701
for i := 0; i < b.N; i++ {
713-
tx.Serialize(ioutil.Discard)
702+
tx.Serialize(io.Discard)
714703
}
715704
}
716705

@@ -736,7 +725,7 @@ func BenchmarkSerializeTxLarge(b *testing.B) {
736725
b.ResetTimer()
737726

738727
for i := 0; i < b.N; i++ {
739-
tx.Serialize(ioutil.Discard)
728+
tx.Serialize(io.Discard)
740729
}
741730
}
742731

@@ -805,7 +794,7 @@ func BenchmarkWriteBlockHeader(b *testing.B) {
805794

806795
header := blockOne.Header
807796
for i := 0; i < b.N; i++ {
808-
writeBlockHeader(ioutil.Discard, 0, &header)
797+
writeBlockHeader(io.Discard, 0, &header)
809798
}
810799
}
811800

@@ -817,7 +806,7 @@ func BenchmarkWriteBlockHeaderBuf(b *testing.B) {
817806
buf := binarySerializer.Borrow()
818807
header := blockOne.Header
819808
for i := 0; i < b.N; i++ {
820-
writeBlockHeaderBuf(ioutil.Discard, 0, &header, buf)
809+
writeBlockHeaderBuf(io.Discard, 0, &header, buf)
821810
}
822811
binarySerializer.Return(buf)
823812
}

0 commit comments

Comments
 (0)