blob: 2fab6eefeab44a11e70e236c42a0da6d5f58548b [file] [log] [blame]
package benchmarks
import "testing"
const nonBlockingChannelBufferSize = 1024 * 1024
func BenchmarkNonBlockingChannel(b *testing.B) {
iterations := int64(b.N)
channel := make(chan int64, nonBlockingChannelBufferSize)
go func() {
for i := int64(0); i < iterations; {
select {
case channel <- i:
i++
default:
continue
}
}
}()
for i := int64(0); i < iterations; i++ {
select {
case <-channel:
i++
default:
continue
}
}
}