浏览代码

benchmark buffer pointer vs value

Darien Raymond 9 年之前
父节点
当前提交
316b4f2025
共有 1 个文件被更改,包括 22 次插入0 次删除
  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)
+	}
+}