OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
test
/
chan
Server IP: 191.96.63.230
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
doubleselect.go
1.96 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
fifo.go
896 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
goroutines.go
743 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
nonblock.go
3.93 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
perm.go
1.39 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
powser1.go
12.66 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
powser2.go
13.29 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
select.go
913 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
select2.go
1.04 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
select3.go
4.07 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
select4.go
513 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
select5.go
9.97 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
select6.go
783 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
select7.go
932 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
select8.go
826 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
sendstmt.go
672 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
sieve1.go
1.49 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sieve2.go
3.88 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zerosize.go
349 bytes
12/01/2022 06:13:01 PM
rw-r--r--
Editing: select2.go
Close
// run // 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. // Test that selects do not consume undue memory. 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() memstats := new(runtime.MemStats) runtime.ReadMemStats(memstats) alloc := memstats.Alloc // second time shouldn't increase footprint by much go sender(c, 100000) receiver(c, dummy, 100000) runtime.GC() runtime.ReadMemStats(memstats) // Be careful to avoid wraparound. if memstats.Alloc > alloc && memstats.Alloc-alloc > 1.1e5 { println("BUG: too much memory for 100,000 selects:", memstats.Alloc-alloc) } }