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