Change a848bcb2adf7 broke the dragonfly-386 build:

runtime: per-P defer pool
Instead of a per-goroutine stack of defers for all sizes,
introduce per-P defer pool for argument sizes 8, 24, 40, 56, 72 bytes.

For a program that starts 1e6 goroutines and then joins then:
old: rss=6.6g virtmem=10.2g time=4.85s
new: rss=4.5g virtmem= 8.2g time=3.48s

R=golang-codereviews, rsc


$ tail -200 < log

# Testing packages.
? cmd/cgo [no test files]
ok cmd/fix 0.081s
ok cmd/go 0.055s
ok cmd/gofmt 0.180s
ok cmd/link 0.193s
? cmd/nm [no test files]
ok cmd/pack 0.054s
? cmd/yacc [no test files]
ok archive/tar 0.075s
ok archive/zip 0.412s
ok bufio 0.112s
ok bytes 0.115s
ok compress/bzip2 0.207s
ok compress/flate 0.525s
ok compress/gzip 0.020s
ok compress/lzw 0.080s
ok compress/zlib 1.009s
ok container/heap 0.005s
ok container/list 0.010s
ok container/ring 0.022s
? crypto [no test files]
ok crypto/aes 0.028s
ok crypto/cipher 0.007s
ok crypto/des 0.016s
ok crypto/dsa 0.025s
ok crypto/ecdsa 0.107s
ok crypto/elliptic 0.062s
ok crypto/hmac 0.020s
ok crypto/md5 0.019s
ok crypto/rand 0.015s
ok crypto/rc4 0.077s
ok crypto/rsa 0.278s
ok crypto/sha1 0.027s
ok crypto/sha256 0.016s
ok crypto/sha512 0.019s
ok crypto/subtle 0.025s
ok crypto/tls 1.980s
ok crypto/x509 1.563s
? crypto/x509/pkix [no test files]
ok database/sql 0.518s
ok database/sql/driver 0.005s
ok debug/dwarf 0.014s
ok debug/elf 0.034s
ok debug/goobj 0.037s
ok debug/gosym 0.016s
ok debug/macho 0.021s
ok debug/pe 0.013s
? encoding [no test files]
ok encoding/ascii85 0.007s
ok encoding/asn1 0.039s
ok encoding/base32 0.034s
ok encoding/base64 0.013s
ok encoding/binary 0.136s
ok encoding/csv 0.005s
ok encoding/gob 0.039s
ok encoding/hex 0.015s
ok encoding/json 0.166s
ok encoding/pem 0.010s
ok encoding/xml 0.036s
ok errors 0.011s
ok expvar 0.009s
ok flag 0.053s
ok fmt 0.081s
ok go/ast 0.033s
ok go/build 0.085s
ok go/doc 0.038s
ok go/format 0.017s
ok go/parser 0.055s
ok go/printer 0.185s
ok go/scanner 0.141s
ok go/token 0.026s
? hash [no test files]
ok hash/adler32 0.034s
ok hash/crc32 0.006s
ok hash/crc64 0.009s
ok hash/fnv 0.038s
ok html 0.029s
ok html/template 0.026s
ok image 0.081s
ok image/color 0.013s
? image/color/palette [no test files]
ok image/draw 0.155s
ok image/gif 0.085s
ok image/jpeg 0.107s
ok image/png 0.087s
ok index/suffixarray 0.011s
ok io 0.114s
ok io/ioutil 0.047s
ok log 0.019s
ok log/syslog 2.247s
ok math 0.008s
ok math/big 0.357s
ok math/cmplx 0.008s
ok math/rand 0.368s
ok mime 0.007s
ok mime/multipart 0.410s
ok net 4.289s
ok net/http 3.443s
ok net/http/cgi 0.129s
ok net/http/cookiejar 0.073s
ok net/http/fcgi 0.014s
ok net/http/httptest 0.014s
ok net/http/httputil 0.023s
? net/http/pprof [no test files]
ok net/mail 0.011s
ok net/rpc 0.022s
ok net/rpc/jsonrpc 0.015s
ok net/smtp 0.010s
ok net/textproto 0.020s
ok net/url 0.008s
ok os 0.455s
ok os/exec 0.603s
ok os/signal 0.670s
ok os/user 0.048s
ok path 0.005s
ok path/filepath 0.030s
ok reflect 0.081s
ok regexp 0.063s
ok regexp/syntax 0.734s
ok runtime 14.974s
? runtime/cgo [no test files]
ok runtime/debug 0.009s
ok runtime/pprof 8.080s
? runtime/race [no test files]
ok sort 0.064s
ok strconv 0.591s
ok strings 0.134s
ok sync 0.049s
ok sync/atomic 0.093s
ok syscall 0.014s
ok testing 0.004s
? testing/iotest [no test files]
ok testing/quick 0.125s
ok text/scanner 0.009s
ok text/tabwriter 0.016s
ok text/template 0.054s
ok text/template/parse 0.012s
ok time 7.078s
ok unicode 0.017s
ok unicode/utf16 0.005s
ok unicode/utf8 0.008s
? unsafe [no test files]

real 0m41.176s
user 0m53.568s
sys 0m22.306s

# GOMAXPROCS=2 runtime -cpu=1,2,4
ok runtime 27.530s

# sync -cpu=10
ok sync 0.158s

# ../misc/cgo/stdio

# ../misc/cgo/life

# ../misc/cgo/test
ok _/tmp/gobuilder/dragonfly-386-a848bcb2adf7/go/misc/cgo/test 1.137s
ok _/tmp/gobuilder/dragonfly-386-a848bcb2adf7/go/misc/cgo/test 1.123s
ok _/tmp/gobuilder/dragonfly-386-a848bcb2adf7/go/misc/cgo/testtls 0.005s
ok _/tmp/gobuilder/dragonfly-386-a848bcb2adf7/go/misc/cgo/testtls 0.005s

# ../misc/cgo/testcdefs

# ../misc/cgo/testso

# ../misc/cgo/errors

# ../doc/progs

real 0m6.806s
user 0m3.904s
sys 0m1.950s

# ../doc/articles/wiki
rm -f get.bin final-test.bin a.out
2014/01/20 23:26:35 Get dial tcp invalid argument
Build complete, duration 2m28.573337861s. Result: error: exit status 1


You received this message because you are subscribed to the Google Groups "golang-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-dev @
postedJan 21, '14 at 7:26a
activeJan 21, '14 at 7:26a

1 user in discussion

Builder: 1 post



site design / logo © 2022 Grokbase