/
githubmirror
/
GoFrame
Обзор
Документация
Войти
/
githubmirror
/
GoFrame
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
container/gset/gset_z_bench_test.go
178 строк
3 KB
houseme
add golangci feature to guarantee codes quality (#2229)
01 ноя 2022, 15:12
Не верифицирован
01 ноя 2022, 15:12
1793bf0
Код
Авторство
О чём код?
// Copyright GoFrame Author(https://goframe.org). All Rights Reserved. // // This Source Code Form is subject to the terms of the MIT License. // If a copy of the MIT was not distributed with this file, // You can obtain one at https://github.com/gogf/gf. // go test *.go -bench=".*" -benchmem package gset_test import ( "strconv" "testing" "github.com/gogf/gf/v2/container/gset" ) var intSet = gset.NewIntSet(true) var anySet = gset.NewSet(true) var strSet = gset.NewStrSet(true) var intSetUnsafe = gset.NewIntSet() var anySetUnsafe = gset.NewSet() var strSetUnsafe = gset.NewStrSet() func Benchmark_IntSet_Add(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { intSet.Add(i) i++ } }) } func Benchmark_IntSet_Contains(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { intSet.Contains(i) i++ } }) } func Benchmark_IntSet_Remove(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { intSet.Remove(i) i++ } }) } func Benchmark_AnySet_Add(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { anySet.Add(i) i++ } }) } func Benchmark_AnySet_Contains(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { anySet.Contains(i) i++ } }) } func Benchmark_AnySet_Remove(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { anySet.Remove(i) i++ } }) } // Note that there's additional performance cost for string conversion. func Benchmark_StrSet_Add(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { strSet.Add(strconv.Itoa(i)) i++ } }) } // Note that there's additional performance cost for string conversion. func Benchmark_StrSet_Contains(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { strSet.Contains(strconv.Itoa(i)) i++ } }) } // Note that there's additional performance cost for string conversion. func Benchmark_StrSet_Remove(b *testing.B) { b.RunParallel(func(pb *testing.PB) { i := 0 for pb.Next() { strSet.Remove(strconv.Itoa(i)) i++ } }) } func Benchmark_Unsafe_IntSet_Add(b *testing.B) { for i := 0; i < b.N; i++ { intSetUnsafe.Add(i) } } func Benchmark_Unsafe_IntSet_Contains(b *testing.B) { for i := 0; i < b.N; i++ { intSetUnsafe.Contains(i) } } func Benchmark_Unsafe_IntSet_Remove(b *testing.B) { for i := 0; i < b.N; i++ { intSetUnsafe.Remove(i) } } func Benchmark_Unsafe_AnySet_Add(b *testing.B) { for i := 0; i < b.N; i++ { anySetUnsafe.Add(i) } } func Benchmark_Unsafe_AnySet_Contains(b *testing.B) { for i := 0; i < b.N; i++ { anySetUnsafe.Contains(i) } } func Benchmark_Unsafe_AnySet_Remove(b *testing.B) { for i := 0; i < b.N; i++ { anySetUnsafe.Remove(i) } } // Note that there's additional performance cost for string conversion. func Benchmark_Unsafe_StrSet_Add(b *testing.B) { for i := 0; i < b.N; i++ { strSetUnsafe.Add(strconv.Itoa(i)) } } // Note that there's additional performance cost for string conversion. func Benchmark_Unsafe_StrSet_Contains(b *testing.B) { for i := 0; i < b.N; i++ { strSetUnsafe.Contains(strconv.Itoa(i)) } } // Note that there's additional performance cost for string conversion. func Benchmark_Unsafe_StrSet_Remove(b *testing.B) { for i := 0; i < b.N; i++ { strSetUnsafe.Remove(strconv.Itoa(i)) } }