You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wormhole-server/pkg/socks5/socks5_bench_test.go

55 lines
1.2 KiB

2 weeks ago
package socks5
import (
"testing"
"time"
"github.com/azoic/wormhole-server/pkg/memory"
"github.com/sirupsen/logrus"
)
func BenchmarkBufferPool(b *testing.B) {
logger := logrus.New()
logger.SetLevel(logrus.ErrorLevel)
memConfig := memory.Config{
BufferSizes: []int{512, 1024, 2048, 4096, 8192, 16384, 32768, 65536},
EnableOptimization: true,
EnableAutoGC: false,
MonitorInterval: time.Minute,
}
memManager := memory.NewManager(memConfig, logger)
defer memManager.Stop()
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
// 测试不同大小的缓冲区
sizes := []int{512, 1024, 2048, 4096, 8192}
for _, size := range sizes {
buf := memManager.GetBuffer(size)
memManager.PutBuffer(buf)
}
}
})
}
func BenchmarkMemoryManagerStats(b *testing.B) {
logger := logrus.New()
logger.SetLevel(logrus.ErrorLevel)
memConfig := memory.Config{
BufferSizes: []int{512, 1024, 2048, 4096},
EnableOptimization: true,
EnableAutoGC: false,
MonitorInterval: time.Minute,
}
memManager := memory.NewManager(memConfig, logger)
defer memManager.Stop()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_ = memManager.GetOverallStats()
}
}