소스 검색

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)
+	}
+}