mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-15 08:23:34 +01:00
41 lines
709 B
Go
41 lines
709 B
Go
|
package bytesutil
|
||
|
|
||
|
import (
|
||
|
"sync/atomic"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func BenchmarkToUnsafeString(b *testing.B) {
|
||
|
buf := []byte("foobarbaz abcde fafdsfds")
|
||
|
b.ReportAllocs()
|
||
|
b.SetBytes(int64(len(buf)))
|
||
|
b.RunParallel(func (pb *testing.PB) {
|
||
|
n := 0
|
||
|
for pb.Next() {
|
||
|
for i := range buf {
|
||
|
s := ToUnsafeString(buf[:i])
|
||
|
n += len(s)
|
||
|
}
|
||
|
}
|
||
|
atomic.AddUint64(&Sink, uint64(n))
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func BenchmarkToUnsafeBytes(b *testing.B) {
|
||
|
s := "foobarbaz abcde fafdsfds"
|
||
|
b.ReportAllocs()
|
||
|
b.SetBytes(int64(len(s)))
|
||
|
b.RunParallel(func (pb *testing.PB) {
|
||
|
n := 0
|
||
|
for pb.Next() {
|
||
|
for i := range s {
|
||
|
s := ToUnsafeBytes(s[:i])
|
||
|
n += len(s)
|
||
|
}
|
||
|
}
|
||
|
atomic.AddUint64(&Sink, uint64(n))
|
||
|
})
|
||
|
}
|
||
|
|
||
|
var Sink uint64
|