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.
54 lines
1.2 KiB
54 lines
1.2 KiB
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()
|
|
}
|
|
}
|
|
|