84 lines
1.5 KiB
Go
84 lines
1.5 KiB
Go
|
package match
|
||
|
|
||
|
import (
|
||
|
"sync"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func benchPool(i int, b *testing.B) {
|
||
|
pool := sync.Pool{New: func() interface{} {
|
||
|
return make([]int, 0, i)
|
||
|
}}
|
||
|
|
||
|
b.RunParallel(func(pb *testing.PB) {
|
||
|
for pb.Next() {
|
||
|
s := pool.Get().([]int)[:0]
|
||
|
pool.Put(s)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func benchMake(i int, b *testing.B) {
|
||
|
b.RunParallel(func(pb *testing.PB) {
|
||
|
for pb.Next() {
|
||
|
_ = make([]int, 0, i)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func BenchmarkSegmentsPool_1(b *testing.B) {
|
||
|
benchPool(1, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_2(b *testing.B) {
|
||
|
benchPool(2, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_4(b *testing.B) {
|
||
|
benchPool(4, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_8(b *testing.B) {
|
||
|
benchPool(8, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_16(b *testing.B) {
|
||
|
benchPool(16, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_32(b *testing.B) {
|
||
|
benchPool(32, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_64(b *testing.B) {
|
||
|
benchPool(64, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_128(b *testing.B) {
|
||
|
benchPool(128, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsPool_256(b *testing.B) {
|
||
|
benchPool(256, b)
|
||
|
}
|
||
|
|
||
|
func BenchmarkSegmentsMake_1(b *testing.B) {
|
||
|
benchMake(1, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_2(b *testing.B) {
|
||
|
benchMake(2, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_4(b *testing.B) {
|
||
|
benchMake(4, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_8(b *testing.B) {
|
||
|
benchMake(8, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_16(b *testing.B) {
|
||
|
benchMake(16, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_32(b *testing.B) {
|
||
|
benchMake(32, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_64(b *testing.B) {
|
||
|
benchMake(64, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_128(b *testing.B) {
|
||
|
benchMake(128, b)
|
||
|
}
|
||
|
func BenchmarkSegmentsMake_256(b *testing.B) {
|
||
|
benchMake(256, b)
|
||
|
}
|