diff options
Diffstat (limited to 'test/chan/select2.go')
-rw-r--r-- | test/chan/select2.go | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/test/chan/select2.go b/test/chan/select2.go deleted file mode 100644 index e24c51ed1..000000000 --- a/test/chan/select2.go +++ /dev/null @@ -1,48 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out - -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import "runtime" - -func sender(c chan int, n int) { - for i := 0; i < n; i++ { - c <- 1 - } -} - -func receiver(c, dummy chan int, n int) { - for i := 0; i < n; i++ { - select { - case <-c: - // nothing - case <-dummy: - panic("dummy") - } - } -} - -func main() { - runtime.MemProfileRate = 0 - - c := make(chan int) - dummy := make(chan int) - - // warm up - go sender(c, 100000) - receiver(c, dummy, 100000) - runtime.GC() - runtime.MemStats.Alloc = 0 - - // second time shouldn't increase footprint by much - go sender(c, 100000) - receiver(c, dummy, 100000) - runtime.GC() - - if runtime.MemStats.Alloc > 1e5 { - println("BUG: too much memory for 100,000 selects:", runtime.MemStats.Alloc) - } -} |