Index: src/pkg/io/io_test.go |
=================================================================== |
--- a/src/pkg/io/io_test.go |
+++ b/src/pkg/io/io_test.go |
@@ -7,6 +7,7 @@ |
import ( |
"bytes" |
. "io" |
+ "io/ioutil" |
"strings" |
"testing" |
) |
@@ -235,3 +236,20 @@ |
} |
} |
} |
+ |
+type neverending byte |
+ |
+func (b neverending) Read(p []byte) (n int, err error) { |
+ for i := 0; i < len(p); i++ { |
+ p[i] = byte(b) |
+ } |
+ return len(p), nil |
+} |
+ |
+func BenchmarkCopy(b *testing.B) { |
+ b.ReportAllocs() |
+ var dst = struct{ Writer }{ioutil.Discard} |
dfc
2013/01/24 00:06:20
nice
|
+ for i := 0; i < b.N; i++ { |
+ Copy(dst, LimitReader(neverending('a'), 128<<10)) |
+ } |
+} |