123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package help
- import "testing"
- const (
- size = 1000000
- )
- func BenchmarkSelectWhereFirst(b *testing.B) {
- for n := 0; n < b.N; n++ {
- Range(1, size).Select(func(i interface{}) interface{} {
- return -i.(int)
- }).Where(func(i interface{}) bool {
- return i.(int) > -1000
- }).First()
- }
- }
- func BenchmarkSelectWhereFirst_generics(b *testing.B) {
- for n := 0; n < b.N; n++ {
- Range(1, size).SelectT(func(i int) int {
- return -i
- }).WhereT(func(i int) bool {
- return i > -1000
- }).First()
- }
- }
- func BenchmarkSum(b *testing.B) {
- for n := 0; n < b.N; n++ {
- Range(1, size).Where(func(i interface{}) bool {
- return i.(int)%2 == 0
- }).SumInts()
- }
- }
- func BenchmarkSum_generics(b *testing.B) {
- for n := 0; n < b.N; n++ {
- Range(1, size).WhereT(func(i int) bool {
- return i%2 == 0
- }).SumInts()
- }
- }
- func BenchmarkZipSkipTake(b *testing.B) {
- for n := 0; n < b.N; n++ {
- Range(1, size).Zip(Range(1, size).Select(func(i interface{}) interface{} {
- return i.(int) * 2
- }), func(i, j interface{}) interface{} {
- return i.(int) + j.(int)
- }).Skip(2).Take(5)
- }
- }
- func BenchmarkZipSkipTake_generics(b *testing.B) {
- for n := 0; n < b.N; n++ {
- Range(1, size).ZipT(Range(1, size).SelectT(func(i int) int {
- return i * 2
- }), func(i, j int) int {
- return i + j
- }).Skip(2).Take(5)
- }
- }
- func BenchmarkFromChannel(b *testing.B) {
- for n := 0; n < b.N; n++ {
- ch := make(chan interface{})
- go func() {
- for i := 0; i < size; i++ {
- ch <- i
- }
- close(ch)
- }()
- FromChannel(ch).All(func(i interface{}) bool { return true })
- }
- }
- func BenchmarkFromChannelT(b *testing.B) {
- for n := 0; n < b.N; n++ {
- ch := make(chan interface{})
- go func() {
- for i := 0; i < size; i++ {
- ch <- i
- }
- close(ch)
- }()
- FromChannelT(ch).All(func(i interface{}) bool { return true })
- }
- }
|