Jelajahi Sumber

benchmark buffer pointer vs value

Darien Raymond 9 tahun lalu
induk
melakukan
316b4f2025
1 mengubah file dengan 22 tambahan dan 0 penghapusan
  1. 22 0
      common/alloc/buffer_test.go

+ 22 - 0
common/alloc/buffer_test.go

@@ -81,3 +81,25 @@ func BenchmarkNewLocalBuffer2048(b *testing.B) {
 		buffer.Release()
 	}
 }
+
+func BenchmarkBufferValue(b *testing.B) {
+	x := Buffer{}
+	doSomething := func(a Buffer) {
+		_ = a.Len()
+	}
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		doSomething(x)
+	}
+}
+
+func BenchmarkBufferPointer(b *testing.B) {
+	x := NewSmallBuffer()
+	doSomething := func(a *Buffer) {
+		_ = a.Len()
+	}
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		doSomething(x)
+	}
+}