1
0
mirror of https://github.com/golang/go synced 2024-11-25 04:07:55 -07:00
The Go programming language
Go to file
Evan Shaw 4f445d2744 big: reduce the number of allocations
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
2010-04-20 21:24:07 -07:00
doc go_faq: add question: Why does Go perform badly on benchmark X? 2010-04-21 14:00:56 +10:00
include Fix *l/*c -V flag segfault 2010-02-08 11:53:27 -08:00
lib codereview: Mention that deleting a CL is a use of 'hg change' in its header. 2010-04-10 01:53:43 -07:00
misc godashboard: remove obselete data models and conversion code 2010-04-20 10:20:15 +10:00
pkg more description 2009-10-15 23:08:46 -07:00
src big: reduce the number of allocations 2010-04-20 21:24:07 -07:00
test big: Add Lsh and Value; convert pidigits to use big 2010-04-20 20:39:36 -07:00
.hgignore runtime: add GOROOT and Version 2010-03-16 23:10:33 -07:00
.hgtags release.2010-04-13 part two 2010-04-14 15:48:48 +10:00
AUTHORS CLA: Andrei Vieru 2010-04-12 10:11:18 -07:00
CONTRIBUTORS add Sam Thorogood (of Google Inc.) to CONTRIBUTORS 2010-04-16 17:40:49 +10:00
favicon.ico add a favicon plus a couple of hi-res versions of gordon 2009-10-26 10:13:07 -07:00
LICENSE Add an explicit patent grant to the Go license. 2010-01-25 15:39:32 -08:00
README add a README file, so that if someone finds a 2009-11-08 09:57:37 -08:00

This is the source code repository for the Go programming language.  

For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install.html in your web browser.

After installing Go, you can view a nicely formatted
doc/install.html by running godoc --http=:6060
and then visiting http://localhost:6060/doc/install.html.

Unless otherwise noted, the Go source files are distributed
under the BSD-style license found in the LICENSE file.