1
0
mirror of https://github.com/golang/go synced 2024-11-20 05:44:44 -07:00
Commit Graph

13005 Commits

Author SHA1 Message Date
Ian Lance Taylor
82e30c681c cgo: rename C names for Go types to avoid conflicting with package
Fixes #3371.

R=rsc, bsiegert, r, mtj, iant
CC=golang-dev
https://golang.org/cl/6131060
2012-05-01 09:04:13 -07:00
David Symonds
cc9a5c3be7 misc/dashboard/codereview: preserve CL ordering.
R=r
CC=golang-dev
https://golang.org/cl/6136056
2012-05-01 16:15:32 +10:00
Nigel Tao
86a91539b8 compress/flate: add a copy overrun test.
R=rsc, r
CC=golang-dev
https://golang.org/cl/6143043
2012-05-01 14:28:33 +10:00
David Symonds
83aa040c45 misc/dashboard/codereview: de-dup LGTMs.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6127066
2012-05-01 11:41:32 +10:00
David Symonds
c3c8e35af2 encoding/json: don't match field name if a JSON struct tag is present.
Fixes #3566.

R=rsc
CC=golang-dev
https://golang.org/cl/6139048
2012-05-01 11:37:44 +10:00
David Symonds
dae2992c98 misc/dashboard/codereview: send mail immediately, and fill in time.Time fields.
If we delay the mail sending, we can't send as the current user.
If we don't fill in the time.Time fields, datastore.Put will fail
because the zero time.Time value is out of its range.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6136053
2012-05-01 11:33:25 +10:00
Nigel Tao
4de15a5cda compress/flate: optimize history-copy decoding.
The forwardCopy function could be re-written in asm, and the copyHuff
method could probably be rolled into huffmanBlock and copyHist, but
I'm leaving those changes for future CLs.

compress/flate benchmarks:
benchmark                                 old ns/op    new ns/op    delta
BenchmarkDecoderBestSpeed1K                  385327       435140  +12.93%
BenchmarkDecoderBestSpeed10K                1245190      1062112  -14.70%
BenchmarkDecoderBestSpeed100K               8512365      5833680  -31.47%
BenchmarkDecoderDefaultCompression1K         382225       421301  +10.22%
BenchmarkDecoderDefaultCompression10K        867950       613890  -29.27%
BenchmarkDecoderDefaultCompression100K      5658240      2466726  -56.40%
BenchmarkDecoderBestCompression1K            383760       421634   +9.87%
BenchmarkDecoderBestCompression10K           867743       614671  -29.16%
BenchmarkDecoderBestCompression100K         5660160      2464996  -56.45%

image/png benchmarks:
benchmark                       old ns/op    new ns/op    delta
BenchmarkDecodeGray               2540834      2389624   -5.95%
BenchmarkDecodeNRGBAGradient     10052700      9534565   -5.15%
BenchmarkDecodeNRGBAOpaque        8704710      8163430   -6.22%
BenchmarkDecodePaletted           1458779      1325017   -9.17%
BenchmarkDecodeRGB                7183606      6794668   -5.41%

Wall time for Denis Cheremisov's PNG-decoding program given in
https://groups.google.com/group/golang-nuts/browse_thread/thread/22aa8a05040fdd49
Before: 3.07s
After:  2.32s
Delta:  -24%

Before profile:
Total: 304 samples
         159  52.3%  52.3%      251  82.6% compress/flate.(*decompressor).huffmanBlock
          58  19.1%  71.4%       76  25.0% compress/flate.(*decompressor).huffSym
          32  10.5%  81.9%       32  10.5% hash/adler32.update
          16   5.3%  87.2%       22   7.2% bufio.(*Reader).ReadByte
          16   5.3%  92.4%       37  12.2% compress/flate.(*decompressor).moreBits
           7   2.3%  94.7%        7   2.3% hash/crc32.update
           7   2.3%  97.0%        7   2.3% runtime.memmove
           5   1.6%  98.7%        5   1.6% scanblock
           2   0.7%  99.3%        9   3.0% runtime.copy
           1   0.3%  99.7%        1   0.3% compress/flate.(*huffmanDecoder).init

After profile:
Total: 230 samples
          59  25.7%  25.7%       70  30.4% compress/flate.(*decompressor).huffSym
          45  19.6%  45.2%       45  19.6% hash/adler32.update
          35  15.2%  60.4%       35  15.2% compress/flate.forwardCopy
          20   8.7%  69.1%      151  65.7% compress/flate.(*decompressor).huffmanBlock
          16   7.0%  76.1%       24  10.4% compress/flate.(*decompressor).moreBits
          15   6.5%  82.6%       15   6.5% runtime.memmove
          11   4.8%  87.4%       50  21.7% compress/flate.(*decompressor).copyHist
           7   3.0%  90.4%        7   3.0% hash/crc32.update
           6   2.6%  93.0%        9   3.9% bufio.(*Reader).ReadByte
           4   1.7%  94.8%        4   1.7% runtime.slicearray

R=rsc, rogpeppe, dave
CC=golang-dev, krasin
https://golang.org/cl/6127064
2012-05-01 10:51:34 +10:00
Robert Hencke
84ce0f7687 cmd/go: do not ignore DepsErrors in 'go run'
Fixes #3490.

R=golang-dev, dave, rsc
CC=golang-dev
https://golang.org/cl/6040046
2012-04-30 17:00:24 -04:00
Shenghou Ma
44fd1d1a6a runtime: give proper messages when user defined DYLD_INSERT_LIBRARIES on Darwin
also gives clear error when bsdthread_register fails on Darwin
       Fixes #2992.

R=rsc, krautz
CC=golang-dev
https://golang.org/cl/5966067
2012-04-30 15:55:07 -04:00
David Symonds
1bdb788b2e misc/dashboard/codereview: record Message-ID of code review thread mails.
This will allow us to properly thread "R=..." mails at a later time.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6135053
2012-04-30 22:47:51 +10:00
David Symonds
5d331964e7 misc/dashboard/codereview: add handy logout URL.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6135052
2012-04-30 22:47:06 +10:00
David Symonds
4335ec9eeb misc/dashboard/codereview: send mail to assigned reviewers if they aren't already looped in.
R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/6128054
2012-04-30 22:03:56 +10:00
Brad Fitzpatrick
ed90fbc747 encoding/base64: don't ignore underlying souce read error in decode
Fixes #3577

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6137054
2012-04-30 17:14:41 +10:00
Brad Fitzpatrick
fe2ce5285e syscall: add a test for passing an fd over a unix socket
Re-submitting previously reverted change 160ec5506cb7.

R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/6129052
2012-04-30 15:31:14 +10:00
Dave Cheney
d5b299eda2 compress/flate: add Encoder/Decoder benchmarks
In CL 6127051, nigeltao suggested that further gains
were possible by improving the performance of flate.
This CL adds a set of benchmarks (based on compress/lzw)
that can be used to judge any future improvements.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6128049
2012-04-29 20:41:13 +10:00
David Symonds
24cce5c60c misc/dashboard/codereview: don't depend on map iteration order for unit calculation.
Fix auth requirements for /gc endpoint too.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6133049
2012-04-28 09:47:15 +10:00
Brian Dellisanti
a0f7c6c658 os/exec: close all internal descriptors when Cmd.Start() fails.
This closes any internal descriptors (pipes, etc) that Cmd.Start() had
opened before it failed.

Fixes #3468.

R=golang-dev, iant, bradfitz
CC=golang-dev
https://golang.org/cl/5986044
2012-04-27 15:46:49 -07:00
Ian Lance Taylor
6d1face5ba A+C: add Brian Dellisanti (individual CLA)
R=golang-dev, bsiegert, r
CC=golang-dev
https://golang.org/cl/6127056
2012-04-27 15:46:27 -07:00
David Symonds
fe252584f5 misc/dashboard/codereview: simplify parallel operations for front page, and capture timing info.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6128044
2012-04-27 23:16:54 +10:00
Dave Cheney
f72c828c67 net: consolidate common socket functions
In resolving 3507, the fix had to be applied individually to
the four *Conn types, tcp, udp, rawip and unix, due to the
duplicate code in each Conn type.

This CL consolidates the common net.Conn methods that all four
*Conn types implement into a base conn type.

Pros:
* The fix for 3507 would have only needed to be applied to one
method. Further improvements, such as possibly removing the
c.fd != nil check in c.ok(), would benefit from this CL.
* Nearly 300 lines removed from the net package.
* The public interface and documentation are not changed.
* I think this is an excellent example of the power of embedding.

Cons:
* The net package is already distributed over many files, this
CL adds another place to look.
* The fix for 3507 was a total of 16 lines changed, this follow
up CL could be considered to be an overreaction as new Conn types
are unlikely to be added in the near future.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6098047
2012-04-27 22:17:08 +10:00
David Symonds
1a79053725 misc/dashboard/codereview: more abbreviated modification duration.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6131044
2012-04-27 17:12:09 +10:00
David Symonds
0175e3f1e0 misc/dashboard/codereview: new app.
This is live at http://gocodereview.appspot.com/.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6134043
2012-04-27 16:36:02 +10:00
Nigel Tao
dd294fbd5a image/png: speed up PNG decoding for common color models: Gray, NRGBA,
Paletted, RGBA.

benchmark                       old ns/op    new ns/op    delta
BenchmarkDecodeGray               3681144      2536049  -31.11%
BenchmarkDecodeNRGBAGradient     12108660     10020650  -17.24%
BenchmarkDecodeNRGBAOpaque       10699230      8677165  -18.90%
BenchmarkDecodePaletted           2562806      1458798  -43.08%
BenchmarkDecodeRGB                8468175      7180730  -15.20%

benchmark                        old MB/s     new MB/s  speedup
BenchmarkDecodeGray                 17.80        25.84    1.45x
BenchmarkDecodeNRGBAGradient        21.65        26.16    1.21x
BenchmarkDecodeNRGBAOpaque          24.50        30.21    1.23x
BenchmarkDecodePaletted             25.57        44.92    1.76x
BenchmarkDecodeRGB                  30.96        36.51    1.18x

$ file $GOROOT/src/pkg/image/png/testdata/bench*
benchGray.png:           PNG image, 256 x 256, 8-bit grayscale, non-interlaced
benchNRGBA-gradient.png: PNG image, 256 x 256, 8-bit/color RGBA, non-interlaced
benchNRGBA-opaque.png:   PNG image, 256 x 256, 8-bit/color RGBA, non-interlaced
benchPaletted.png:       PNG image, 256 x 256, 8-bit colormap, non-interlaced
benchRGB.png:            PNG image, 256 x 256, 8-bit/color RGB, non-interlaced

R=r
CC=golang-dev
https://golang.org/cl/6127051
2012-04-27 16:03:58 +10:00
David Symonds
9ce770afad old/regexp, old/template: delete.
Both of these have replacements.

R=golang-dev, r, rsc, r, adg
CC=golang-dev
https://golang.org/cl/5979046
2012-04-27 15:12:24 +10:00
Anthony Martin
0bad08cbbb path/filepath: fix typo
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6117063
2012-04-27 10:25:19 +10:00
Andrew Gerrand
029d62f5c0 misc/dist: drop repetition in filenames, default to release tag
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6117066
2012-04-26 13:25:53 -07:00
Andrew Gerrand
d8443d2e41 re-tag go1.0.1
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6115056
2012-04-26 12:51:55 -07:00
Andrew Gerrand
4d0bb13be3 tag go1.0.1
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6125048
2012-04-26 12:34:30 -07:00
Andrew Gerrand
314df5226a doc: go1.0.1 release notes
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6123055
2012-04-26 12:02:06 -07:00
Russ Cox
d09943aeaf cmd/go: new tag selection logic
The new logic is "use go1 if it's there, otherwise no tag."
Nothing needs to say "I require go1.0.1", and I want to
preserve some flexibility in defining what tags mean.

Right now (before go1.0.1) there is only one possible tag,
"go1", and I'd like to keep it that way.

R=golang-dev, bradfitz, r, adg
CC=golang-dev
https://golang.org/cl/6112060
2012-04-26 14:25:28 -04:00
Joel Sing
e5f2662c25 syscall: remove sysctl workaround for openbsd
Now that Go will no longer work on OpenBSD versions prior to 5.1,
remove the sysctl workaround that was needed for 5.0 and earlier.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6116050
2012-04-27 01:45:15 +10:00
Anthony Martin
5491623406 syscall: fix a number of exec bugs on Plan 9
1. Readdirnames was erroneously returning an
   empty slice on every invocation.

2. The logic for determining which files to
   close before exec was incorrect.  If the
   set of files to be kept open (provided by
   the caller) did not include the files
   opened at startup, those files would be
   accidentally closed.

I also cleaned up readdupdevice while I was
in the vicinity.

R=golang-dev, seed, rsc
CC=golang-dev
https://golang.org/cl/6016044
2012-04-26 02:59:13 -07:00
Anthony Martin
42aa9abae9 gc: use correct line number for EOF syntax error
I also added some debugging code that's turned
on with -xx.

Fixes #3392.

R=rsc, lvd
CC=golang-dev
https://golang.org/cl/5909058
2012-04-26 02:57:23 -07:00
David Symonds
4d3db77c69 doc: update wiki article to use html/template properly.
Fixes #3569.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6116055
2012-04-26 17:50:44 +10:00
Nigel Tao
b28431ec8e doc: simplify the image_draw article example for converting an image to
RGBA.

R=adg, r, bsiegert
CC=golang-dev
https://golang.org/cl/6119054
2012-04-26 17:39:04 +10:00
Shenghou Ma
e412761488 cmd/godoc: update App Engine README and script for Go 1
R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/5849053
2012-04-26 14:24:53 +08:00
Andrew Balholm
a09e9811dc exp/html: adjust inTableBodyIM to match spec
Clean up flow of control.

Handle </tbody>, </tfoot>, and </thead>.

Pass 5 additional tests.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6117057
2012-04-26 11:48:35 +10:00
David Symonds
555ca36c1d time: doc fix.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6127050
2012-04-26 11:28:35 +10:00
Russ Cox
d2e70054c9 codereview: look for new release branches
R=adg
CC=golang-dev
https://golang.org/cl/6127048
2012-04-25 13:44:30 -07:00
Andrew Gerrand
b6522c43d5 dashboard: sort user interface by internal counter, not date
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6114053
2012-04-25 13:01:08 -07:00
Brad Fitzpatrick
61a8eb07f8 net/http: ignore paths on CONNECT requests in ServeMux
Fixes #3538

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/6117058
2012-04-25 12:46:16 -07:00
Brad Fitzpatrick
7f7a70f225 mime: make ParseMediaType return zero results on error
Fixes #3562

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/6119051
2012-04-25 12:01:01 -07:00
Joel Sing
689d5b9163 runtime: use __tfork() syscall on openbsd
Switch from using the rfork() syscall on OpenBSD, to the __tfork()
syscall.  The __tfork() syscall is the preferred way of creating
system threads and the rfork() syscall has recently been removed.

Note: this will break compatibility with OpenBSD releases prior to 5.1.

R=golang-dev, bradfitz, devon.odell, rsc
CC=golang-dev
https://golang.org/cl/6037048
2012-04-26 00:08:02 +10:00
Marcel van Lohuizen
fdce27f7b8 exp/locale/collate: Added Builder type for generating a complete
collation table. At this moment, it only implements the generation of
a root table.

R=r
CC=golang-dev
https://golang.org/cl/6039047
2012-04-25 13:19:35 +02:00
Marcel van Lohuizen
52f0afe0db exp/locale/collate: Added skeleton for the higher-level types to provide
context for change lists of lower-level types. The public APIs are defined
in builder.go and collate.go. Type table is the glue between the lower and
higher level code and might be a good starting point for understanding the
collation code.

R=r, r
CC=golang-dev
https://golang.org/cl/5999053
2012-04-25 13:19:00 +02:00
Marcel van Lohuizen
bcf48c7971 exp/locale/collate: added trie for associating colElems to runes.
The trie code looks a lot like the trie in exp/norm. It uses different
types, however.  Also, there is only a lookup for []byte and the unsafe
lookup methods have been dropped, as well as sparse mode.
There is now a method for generating a trie. To output Go code, one now needs
to first generate a trie and then call print() on it.

R=r, r, mpvl
CC=golang-dev
https://golang.org/cl/5966064
2012-04-25 13:16:57 +02:00
Marcel van Lohuizen
bb3f3c9775 exp/locale/collate: added representation for collation elements
(see http://www.unicode.org/reports/tr10/).

R=r, r
CC=golang-dev
https://golang.org/cl/5981048
2012-04-25 13:16:24 +02:00
Marcel van Lohuizen
e456d015fb exp/locale/collate: implementation of trie that is used for detecting contractions.
(See http://www.unicode.org/reports/tr10/#Contractions.)  Each rune that is at the
start of any contraction is associated a trie. This trie, in turn, may be shared
by other runes that have the same set of suffixes.

R=r, r
CC=golang-dev
https://golang.org/cl/5970066
2012-04-25 13:15:48 +02:00
Gustavo Niemeyer
733b51d996 net/http: revert 97d027b3aa68
Revert the following change set:

        changeset:   13018:97d027b3aa68
        user:        Gustavo Niemeyer <gustavo@niemeyer.net>
        date:        Mon Apr 23 22:00:16 2012 -0300
        summary:     net/http: allow clients to disable keep-alive

This broke a test on Windows 64 and somebody else
will have to check.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6112054
2012-04-25 02:32:51 -03:00
Ian Lance Taylor
990f3af72b crypto/rand: use io.ReadFull in test
On Solaris versions before Solaris 11, the kernel will not
return more than 1040 on a single read from /dev/urandom.

R=golang-dev, agl, bradfitz, rsc, iant, dchest
CC=golang-dev
https://golang.org/cl/6113046
2012-04-24 21:36:42 -07:00