mirror of
https://gitee.com/NorthCityChen/stl-go.git
synced 2025-05-25 12:01:08 +00:00
51 lines
920 B
Go
51 lines
920 B
Go
/*
|
|
* @Author: NorthCity1984
|
|
* @LastEditTime: 2022-04-27 13:36:25
|
|
* @Description:
|
|
* @Website: https://grimoire.cn
|
|
* Copyright (c) NorthCity1984 All rights reserved.
|
|
*/
|
|
package dequeue
|
|
|
|
import (
|
|
"testing"
|
|
// "gitee.com/NorthCityChen/stl-go/dequeue"
|
|
)
|
|
|
|
// type Number interface {
|
|
// int | int64 | float32 | float64 | string
|
|
// }
|
|
|
|
// func zeroValue[T Number]() (value T) { return }
|
|
func TRune[T Number]() T { return T(rune(0)) }
|
|
|
|
func BenchmarkZeroValue(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
zeroValue[float64]()
|
|
zeroValue[float32]()
|
|
zeroValue[int]()
|
|
zeroValue[int64]()
|
|
zeroValue[string]()
|
|
}
|
|
}
|
|
|
|
func BenchmarkTRune(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
TRune[float64]()
|
|
TRune[float32]()
|
|
TRune[int64]()
|
|
TRune[int]()
|
|
TRune[string]()
|
|
}
|
|
}
|
|
|
|
func BenchmarkRunDequeue(b *testing.B) {
|
|
dq := Init[int]()
|
|
for i := 0; i < b.N; i++ {
|
|
dq.LPush(1)
|
|
dq.RPush(2)
|
|
dq.LPop()
|
|
dq.RPop()
|
|
}
|
|
}
|