(TBR adonovan)
- provide version string rather than version number (more flexible)
- match naming of tag constants with documentation (forth-coming)
- more formats for constant values (1-byte booleans, short 64bit
values, support for floating point numbers +123p+45)
- more regular format for signatures: always print with type tag;
this permits (future) sharing of identical signatures and possibly
large export data size reduction
- test export and import of all type-checked std library packages
- compare import of all std library packages against corresponding
import of gc-generated export data and verify that the packages
match 100% (except for floating point values which are exact when
coming from go/types, and possibly inexact when coming from gc)
On average, export data generated by the importer is ~28% of the size
of the gc-generated export data for corresponding packages of the std
library:
package size gc size
archive/tar 2945 12030 24%
archive/zip 4122 15796 26%
bufio 1776 6171 28%
bytes 2540 8006 31%
compress/bzip2 146 419 34%
compress/flate 2305 6356 36%
compress/gzip 4262 17917 23%
compress/lzw 336 832 40%
compress/zlib 2503 9814 25%
container/heap 255 527 48%
container/list 653 2971 21%
container/ring 246 707 34%
crypto 368 1015 36%
crypto/aes 219 499 43%
crypto/cipher 809 1875 43%
crypto/des 254 636 39%
crypto/dsa 3324 15609 21%
crypto/ecdsa 3833 18567 20%
crypto/elliptic 3801 17417 21%
crypto/hmac 205 459 44%
crypto/md5 206 413 49%
crypto/rand 3070 15047 20%
crypto/rc4 180 443 40%
crypto/rsa 4205 17941 23%
crypto/sha1 208 414 50%
crypto/sha256 272 555 49%
crypto/sha512 274 555 49%
crypto/subtle 247 1157 21%
crypto/tls 13769 48330 28%
crypto/x509 10716 40556 26%
crypto/x509/pkix 5670 24616 23%
database/sql 4227 15957 26%
database/sql/driver 1239 2806 44%
debug/dwarf 5165 12066 42%
debug/elf 14205 36401 39%
debug/goobj 992 2495 39%
debug/gosym 1808 4798 37%
debug/macho 4560 13173 34%
debug/pe 3694 10530 35%
encoding 261 387 67%
encoding/ascii85 368 1541 23%
encoding/asn1 479 1661 28%
encoding/base32 608 2636 23%
encoding/base64 610 2636 23%
encoding/binary 1006 3591 28%
encoding/csv 2287 8405 27%
encoding/gob 9161 30565 29%
encoding/hex 384 1331 28%
encoding/json 6564 23334 28%
encoding/pem 208 529 39%
encoding/xml 7964 27220 29%
errors 52 277 18%
expvar 955 2978 32%
flag 2475 18028 13%
fmt 1141 3141 36%
go/ast 11595 41019 28%
go/build 3736 13920 26%
go/doc 2647 9523 27%
go/format 1310 5010 26%
go/parser 4346 18525 23%
go/printer 1737 6442 26%
go/scanner 2360 8598 27%
go/token 2290 7599 30%
hash 215 595 36%
hash/adler32 217 391 55%
hash/crc32 399 1475 27%
hash/crc64 324 1327 24%
hash/fnv 338 3964 8%
html 80 253 31%
html/template 7981 37471 21%
image 4270 18894 22%
image/color 845 3154 26%
image/color/palette 121 319 37%
image/draw 947 4807 19%
image/gif 1468 6611 22%
image/jpeg 971 4534 21%
image/png 880 4432 19%
index/suffixarray 3702 13960 26%
io 2049 6117 33%
io/ioutil 2845 12060 23%
log 2416 10241 23%
log/syslog 3102 12208 25%
math 2361 6008 39%
math/big 3648 12250 29%
math/cmplx 473 1542 30%
math/rand 786 2002 39%
mime 180 595 30%
mime/multipart 2761 9338 29%
net 10593 34352 30%
net/http 24542 84065 29%
net/http/cgi 12859 50970 25%
net/http/cookiejar 2845 12429 22%
net/http/fcgi 12331 49111 25%
net/http/httptest 18953 75243 25%
net/http/httputil 13994 54386 25%
net/http/pprof 12153 49039 24%
net/mail 1803 8599 20%
net/rpc 18503 69044 26%
net/rpc/jsonrpc 1063 2737 38%
net/smtp 11775 46821 25%
net/textproto 2684 8678 30%
net/url 767 2886 26%
os 5712 20293 28%
os/exec 4705 18350 25%
os/signal 125 330 37%
os/user 234 720 32%
path 231 770 30%
path/filepath 2236 9721 23%
reflect 4518 13467 33%
regexp 3608 11167 32%
regexp/syntax 2184 5157 42%
runtime 1563 3407 45%
runtime/cgo 36 66 54%
runtime/debug 1714 8010 21%
runtime/pprof 485 1358 35%
runtime/race 38 43 88%
sort 748 2658 28%
strconv 949 2573 36%
strings 1846 6220 29%
sync 712 1970 36%
sync/atomic 1089 2506 43%
syscall 38975 79396 49%
testing 3734 13626 27%
testing/iotest 332 2378 13%
testing/quick 4411 16434 26%
text/scanner 1821 5349 34%
text/tabwriter 1593 4937 32%
text/template 6882 33329 20%
text/template/parse 3946 12760 30%
time 3031 9703 31%
unicode 3148 8676 36%
unicode/utf16 163 760 21%
unicode/utf8 475 1122 42%
total 463641 1644936 28%
R=adonovan
TBR=adonovan
CC=golang-codereviews
https://golang.org/cl/37250044
|
||
|---|---|---|
| .. | ||
| exact | ||
| gcimporter | ||
| importer | ||
| types | ||
| vcs | ||