mirror of
https://github.com/golang/go
synced 2024-11-22 03:44:39 -07:00
4f445d2744
There was a bug in makeN that caused lots of unnecessary allocations. Fixing this exposed a few bugs in other functions which worked when makeN allocated a new slice, but failed when it simply resized an existing slice. The result is a pretty big performance improvement. When running pidigits, here were the numbers I got on amd64: Before this change: pidigits 10000 gcc -O2 pidigits.c -lgmp 2.09u 0.02s 2.11r gc pidigits 12.68u 0.04s 12.72r gc_B pidigits 12.71u 0.03s 12.75r After: pidigits 10000 gcc -O2 pidigits.c -lgmp 2.09u 0.00s 2.10r gc pidigits 6.82u 0.00s 6.85r gc_B pidigits 6.55u 0.01s 6.59r R=rsc, gri CC=golang-dev https://golang.org/cl/953042 |
||
---|---|---|
.. | ||
cmd | ||
lib9 | ||
libbio | ||
libcgo | ||
libmach | ||
pkg | ||
all-arm.bash | ||
all-nacl.bash | ||
all.bash | ||
clean.bash | ||
env.bash | ||
Make.386 | ||
Make.amd64 | ||
Make.arm | ||
make.bash | ||
Make.cmd | ||
Make.common | ||
Make.conf | ||
Make.pkg | ||
quietgcc.bash | ||
run.bash | ||
sudo.bash | ||
version.bash |