14.16 基准测试
...小于 1 分钟
14.16 基准测试
package chapter_14
func channelSync(n int) {
ch := make(chan int)
go func() {
for i := 0; i < n; i++ {
ch <- i
}
close(ch)
}()
for range ch {
}
}
func channelBuffered(n int) {
ch := make(chan int, 128)
go func() {
for i := 0; i < n; i++ {
ch <- i
}
close(ch)
}()
for range ch {
}
}
package chapter_14
import "testing"
func BenchmarkChannelSync(b *testing.B) {
channelSync(b.N)
}
func BenchmarkChannelBuffered(b *testing.B) {
channelBuffered(b.N)
}
BenchmarkChannelSync
BenchmarkChannelSync-12 5635058 215.3 ns/op
BenchmarkChannelBuffered
BenchmarkChannelBuffered-12 19519368 61.28 ns/op
PASS
ok the-way-to-go/chapter-14 2.731s
Powered by Waline v2.15.2