Christopher Swenson
baf426f10f
math/big: Replace RCLQ + ANDQ with SETCS in unrolled arithmetic assembly.
...
benchmark old ns/op new ns/op delta
BenchmarkAddVW_1 8 8 +0.60%
BenchmarkAddVW_2 10 9 -8.64%
BenchmarkAddVW_3 10 10 -4.63%
BenchmarkAddVW_4 10 11 +3.67%
BenchmarkAddVW_5 11 12 +5.98%
BenchmarkAddVW_1e1 18 20 +6.38%
BenchmarkAddVW_1e2 129 115 -10.85%
BenchmarkAddVW_1e3 1270 1089 -14.25%
BenchmarkAddVW_1e4 13376 12145 -9.20%
BenchmarkAddVW_1e5 130392 125260 -3.94%
benchmark old MB/s new MB/s speedup
BenchmarkAddVW_1 7709.10 7661.92 0.99x
BenchmarkAddVW_2 12451.10 13604.00 1.09x
BenchmarkAddVW_3 17727.81 18721.54 1.06x
BenchmarkAddVW_4 23552.64 22708.81 0.96x
BenchmarkAddVW_5 27411.40 25816.22 0.94x
BenchmarkAddVW_1e1 34063.19 32023.06 0.94x
BenchmarkAddVW_1e2 49529.97 55360.55 1.12x
BenchmarkAddVW_1e3 50380.44 58764.18 1.17x
BenchmarkAddVW_1e4 47843.59 52696.10 1.10x
BenchmarkAddVW_1e5 49082.60 51093.66 1.04x
R=gri, rsc, r
CC=golang-dev
https://golang.org/cl/6480063
2012-08-28 09:29:45 -07:00
Shenghou Ma
f653dfeb49
cmd/api: recognize version "devel" as dev. branch and apply -next
...
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6476066
2012-08-28 04:03:27 +08:00
Tobias Columbus
5e8de365dc
misc/vim: fix for autocompletion
...
Vim autocompletion respects the $GOPATH variable and does not
ignore dashes ('-'), dots ('.') and underscores ('_') like found
in many remote packages.
Environment variable $GOROOT is determined by calling
'go env GOROOT' instead of relying on the user's environment
variables.
Fixes #3876
Fixes #3882
R=golang-dev, franciscossouza, dsymonds, minux.ma
CC=golang-dev
https://golang.org/cl/6443151
2012-08-28 03:59:16 +08:00
Shenghou Ma
e2a83b47e7
C: add Tobias Columbus's email used in Rietveld
...
R=golang-dev, tobias.columbus, bradfitz
CC=golang-dev
https://golang.org/cl/6483058
2012-08-28 03:57:27 +08:00
Brad Fitzpatrick
49f29c9c22
net/http: send an explicit zero Content-Length when Handler never Writes
...
Fixes #4004
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6472055
2012-08-26 11:17:55 -07:00
Joel Sing
79473d6b1c
runtime: use netbsd signal ABI v2
...
Use version 2 of the NetBSD signal ABI - both version 2 and version 3
are supported by the kernel, with near identical behaviour. However,
the netbsd32 compat code does not allow version 3 to be used, which
prevents Go netbsd/386 binaries from running in compat mode on a
NetBSD amd64 kernel. Switch to version 2 of the ABI, which is the
same version currently used by NetBSD's libc.
R=minux.ma
CC=golang-dev
https://golang.org/cl/6476068
2012-08-26 20:57:47 +10:00
Rémy Oudompheng
a85fa33ece
test: use run.go for more tests.
...
R=golang-dev, alex.brainman, minux.ma
CC=golang-dev
https://golang.org/cl/6443110
2012-08-25 10:16:02 +02:00
Robert Griesemer
74c6325142
math/big: fix broken comment
...
R=iant, iant
CC=golang-dev
https://golang.org/cl/6485064
2012-08-24 13:50:09 -07:00
Rob Pike
5a297fa038
VERSION: check in a version file for the development branch
...
That way "go version" will talk about "devel" rather than weekly.2012-03-27
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6478061
2012-08-24 13:01:50 -07:00
Rob Pike
8b23066239
text/template: catch (A).X as a parse error
...
This shouldn't be an error (see issue 3999), but until it's handled
correctly, treat it as one to avoid confusion. Without this CL,
(A).X parses as two arguments.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6473059
2012-08-24 13:00:24 -07:00
Rob Pike
cc842c738e
text/template: allow grouping of pipelines using parentheses
...
Based on work by Russ Cox. From his CL:
This is generally useful but especially helpful when trying
to use the built-in boolean operators. It lets you write:
{{if not (f 1)}} foo {{end}}
{{if and (f 1) (g 2)}} bar {{end}}
{{if or (f 1) (g 2)}} quux {{end}}
instead of
{{if f 1 | not}} foo {{end}}
{{if f 1}}{{if g 2}} bar {{end}}{{end}}
{{$do := 0}}{{if f 1}}{{$do := 1}}{{else if g 2}}{{$do := 1}}{{end}}{{if $do}} quux {{end}}
The result can be a bit LISPy but the benefit in expressiveness and readability
for such a small change justifies it.
I believe no changes are required to html/template.
Fixes #3276 .
R=golang-dev, adg, rogpeppe, minux.ma
CC=golang-dev
https://golang.org/cl/6482056
2012-08-24 12:37:23 -07:00
Robert Griesemer
3bd8684fac
math/big: minor tweaks to assembly code (slightly better performance)
...
Benchmarks run on 2.8GHz Quad-Code Intel Xeon,
4GB 800MHz DDR2 FB-DIMM ("PowerMac").
benchmark old ns/op new ns/op delta
BenchmarkAddVV_1 7 7 -0.82%
BenchmarkAddVV_2 8 8 -3.46%
BenchmarkAddVV_3 10 9 -4.81%
BenchmarkAddVV_4 9 9 -1.89%
BenchmarkAddVV_5 11 10 -5.22%
BenchmarkAddVV_1e1 17 18 +4.05%
BenchmarkAddVV_1e2 117 115 -1.71%
BenchmarkAddVV_1e3 1095 1090 -0.46%
BenchmarkAddVV_1e4 13149 12679 -3.57%
BenchmarkAddVV_1e5 135133 129482 -4.18%
BenchmarkAddVW_1 6 6 -1.14%
BenchmarkAddVW_2 7 7 +3.78%
BenchmarkAddVW_3 8 8 +0.12%
BenchmarkAddVW_4 8 8 -6.52%
BenchmarkAddVW_5 9 8 -3.70%
BenchmarkAddVW_1e1 14 13 -4.29%
BenchmarkAddVW_1e2 97 96 -1.33%
BenchmarkAddVW_1e3 953 940 -1.36%
BenchmarkAddVW_1e4 9776 9527 -2.55%
BenchmarkAddVW_1e5 102396 97738 -4.55%
benchmark old MB/s new MB/s speedup
BenchmarkAddVV_1 8702.84 8774.56 1.01x
BenchmarkAddVV_2 14739.60 15277.82 1.04x
BenchmarkAddVV_3 18375.37 19398.16 1.06x
BenchmarkAddVV_4 26935.44 27464.68 1.02x
BenchmarkAddVV_5 27754.04 29423.30 1.06x
BenchmarkAddVV_1e1 37050.89 35629.72 0.96x
BenchmarkAddVV_1e2 54289.15 55533.24 1.02x
BenchmarkAddVV_1e3 58428.83 58682.53 1.00x
BenchmarkAddVV_1e4 48670.55 50475.99 1.04x
BenchmarkAddVV_1e5 47360.54 49427.66 1.04x
BenchmarkAddVW_1 10397.27 10502.23 1.01x
BenchmarkAddVW_2 17279.03 16654.13 0.96x
BenchmarkAddVW_3 23858.39 23825.89 1.00x
BenchmarkAddVW_4 29799.42 31895.06 1.07x
BenchmarkAddVW_5 34781.83 36105.11 1.04x
BenchmarkAddVW_1e1 45629.88 47597.42 1.04x
BenchmarkAddVW_1e2 65341.93 66240.04 1.01x
BenchmarkAddVW_1e3 67153.67 68069.83 1.01x
BenchmarkAddVW_1e4 65464.60 67173.83 1.03x
BenchmarkAddVW_1e5 62501.88 65480.66 1.05x
R=iant
CC=golang-dev
https://golang.org/cl/6484056
2012-08-24 10:51:39 -07:00
Robert Griesemer
35422bc11f
math/big: faster (add|sub)V(V|W) routines
...
Benchmarks run on 3.06GHz Intel Core 2 Duo,
4GB 800MHz DDR2 SDRAM ("iMac").
benchmark old ns/op new ns/op delta
BenchmarkAddVV_1 6 6 +2.75%
BenchmarkAddVV_2 9 7 -19.71%
BenchmarkAddVV_3 9 9 +2.25%
BenchmarkAddVV_4 10 8 -20.46%
BenchmarkAddVV_5 12 10 -19.53%
BenchmarkAddVV_1e1 23 15 -32.48%
BenchmarkAddVV_1e2 213 107 -49.77%
BenchmarkAddVV_1e3 2088 993 -52.44%
BenchmarkAddVV_1e4 20874 12027 -42.38%
BenchmarkAddVV_1e5 209858 121480 -42.11%
BenchmarkAddVW_1 5 5 +0.90%
BenchmarkAddVW_2 11 11 -3.51%
BenchmarkAddVW_3 7 7 -0.27%
BenchmarkAddVW_4 8 7 -6.32%
BenchmarkAddVW_5 9 8 -10.89%
BenchmarkAddVW_1e1 17 12 -26.01%
BenchmarkAddVW_1e2 155 89 -42.32%
BenchmarkAddVW_1e3 1479 873 -40.97%
BenchmarkAddVW_1e4 13838 8764 -36.67%
BenchmarkAddVW_1e5 147353 89560 -39.22%
benchmark old MB/s new MB/s speedup
BenchmarkAddVV_1 9765.57 9508.55 0.97x
BenchmarkAddVV_2 13077.63 16284.97 1.25x
BenchmarkAddVV_3 20599.58 20156.67 0.98x
BenchmarkAddVV_4 23591.58 29516.02 1.25x
BenchmarkAddVV_5 24920.95 31194.10 1.25x
BenchmarkAddVV_1e1 27393.76 40621.71 1.48x
BenchmarkAddVV_1e2 29911.96 59592.99 1.99x
BenchmarkAddVV_1e3 30650.73 64429.84 2.10x
BenchmarkAddVV_1e4 30660.09 53213.08 1.74x
BenchmarkAddVV_1e5 30496.74 52683.46 1.73x
BenchmarkAddVW_1 11503.39 11405.98 0.99x
BenchmarkAddVW_2 11203.56 11586.92 1.03x
BenchmarkAddVW_3 26173.45 26224.75 1.00x
BenchmarkAddVW_4 30560.30 32621.94 1.07x
BenchmarkAddVW_5 33183.81 37269.94 1.12x
BenchmarkAddVW_1e1 36991.75 50098.53 1.35x
BenchmarkAddVW_1e2 41087.14 71549.93 1.74x
BenchmarkAddVW_1e3 43266.42 73279.83 1.69x
BenchmarkAddVW_1e4 46246.74 73021.97 1.58x
BenchmarkAddVW_1e5 43433.00 71459.96 1.65x
Benchmarks run on 2.8GHz Quad-Code Intel Xeon,
4GB 800MHz DDR2 FB-DIMM ("PowerMac").
benchmark old ns/op new ns/op delta
BenchmarkAddVV_1 7 7 +2.51%
BenchmarkAddVV_2 8 8 +3.70%
BenchmarkAddVV_3 10 10 +4.00%
BenchmarkAddVV_4 11 9 -19.49%
BenchmarkAddVV_5 14 11 -18.44%
BenchmarkAddVV_1e1 23 17 -27.00%
BenchmarkAddVV_1e2 234 117 -50.00%
BenchmarkAddVV_1e3 2284 1095 -52.06%
BenchmarkAddVV_1e4 22906 13149 -42.60%
BenchmarkAddVV_1e5 229860 135133 -41.21%
BenchmarkAddVW_1 6 6 +1.15%
BenchmarkAddVW_2 7 7 +1.37%
BenchmarkAddVW_3 7 8 +1.00%
BenchmarkAddVW_4 9 8 -6.93%
BenchmarkAddVW_5 10 9 -13.21%
BenchmarkAddVW_1e1 18 14 -24.32%
BenchmarkAddVW_1e2 170 97 -42.41%
BenchmarkAddVW_1e3 1619 953 -41.14%
BenchmarkAddVW_1e4 15142 9776 -35.44%
BenchmarkAddVW_1e5 160835 102396 -36.33%
benchmark old MB/s new MB/s speedup
BenchmarkAddVV_1 8928.95 8702.84 0.97x
BenchmarkAddVV_2 15298.84 14739.60 0.96x
BenchmarkAddVV_3 19116.52 18375.37 0.96x
BenchmarkAddVV_4 21644.30 26935.44 1.24x
BenchmarkAddVV_5 22771.64 27754.04 1.22x
BenchmarkAddVV_1e1 27017.62 37050.89 1.37x
BenchmarkAddVV_1e2 27326.09 54289.15 1.99x
BenchmarkAddVV_1e3 28016.84 58428.83 2.09x
BenchmarkAddVV_1e4 27939.38 48670.55 1.74x
BenchmarkAddVV_1e5 27843.00 47360.54 1.70x
BenchmarkAddVW_1 10510.97 10397.27 0.99x
BenchmarkAddVW_2 17499.71 17279.03 0.99x
BenchmarkAddVW_3 24093.93 23858.39 0.99x
BenchmarkAddVW_4 27733.08 29799.42 1.07x
BenchmarkAddVW_5 30267.17 34781.83 1.15x
BenchmarkAddVW_1e1 34566.78 45629.88 1.32x
BenchmarkAddVW_1e2 37521.89 65341.93 1.74x
BenchmarkAddVW_1e3 39513.18 67153.67 1.70x
BenchmarkAddVW_1e4 42263.80 65464.60 1.55x
BenchmarkAddVW_1e5 39792.21 62501.88 1.57x
R=iant, remyoudompheng, nightlyone, minux.ma
CC=golang-dev
https://golang.org/cl/6482062
2012-08-24 09:20:44 -07:00
Marcel van Lohuizen
c61a185f35
exp/locale/collate: add code to ignore tests with (unpaired) surrogates.
...
In the regtest data, surrogates are assigned primary weights based on
the surrogate code point value. Go now converts surrogates to FFFD, however,
meaning that the primary weight is based on this code point instead.
This change drops tests with surrogates and lets the tests pass.
R=r
CC=golang-dev
https://golang.org/cl/6461100
2012-08-24 15:56:07 +02:00
Dmitriy Vyukov
75af013229
net/http: add parallel client/server benchmark
...
R=bradfitz@golang.org
R=bradfitz
CC=bradfitz, dave, dsymonds, gobot, golang-dev
https://golang.org/cl/6441134
2012-08-24 14:19:49 +04:00
Nigel Tao
8eb05b3843
exp/html: remove unused forTag function.
...
R=adg
CC=golang-dev
https://golang.org/cl/6480051
2012-08-24 14:15:55 +10:00
Julien Schmidt
37b40dab51
database/sql: stop reuse of bad connections
...
The second parameter for sql.putConn() (err) is always nil. As a result bad
connections are reused, even if the driver returns an driver.ErrBadConn.
Unsing a pointer to err instead achievs the desired behavior.
See http://code.google.com/p/go/issues/detail?id=3777 for more details.
Fixes #3777 .
R=golang-dev, dave, bradfitz, jameshuachow, BlakeSGentry
CC=golang-dev
https://golang.org/cl/6348069
2012-08-23 19:29:47 -07:00
Brad Fitzpatrick
c39509a3b3
A+C: Add Julien Schmidt (Individual CLA)
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6459050
2012-08-23 19:29:15 -07:00
David Symonds
e6815c536e
A+C: Tobias Columbus (individual CLA)
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6480058
2012-08-24 11:55:11 +10:00
Robert Griesemer
77e98fb8f2
go/scanner: don't drop identifiers starting with non-ASCII letter...
...
Bug introduced with CL 6454150.
Fixes #4000 .
R=r
CC=golang-dev
https://golang.org/cl/6474061
2012-08-23 17:03:33 -07:00
Robert Griesemer
053b448d61
math/big: added benchmarks to establish baseline for core functions
...
BenchmarkAddVV_1 500000000 7.24 ns/op 8844.11 MB/s
BenchmarkAddVV_2 100000000 10.4 ns/op 12290.41 MB/s
BenchmarkAddVV_3 100000000 10.7 ns/op 17966.58 MB/s
BenchmarkAddVV_4 100000000 12.3 ns/op 20848.67 MB/s
BenchmarkAddVV_5 100000000 14.5 ns/op 21993.82 MB/s
BenchmarkAddVV_1e1 100000000 24.0 ns/op 26720.65 MB/s
BenchmarkAddVV_1e2 10000000 246 ns/op 26014.58 MB/s
BenchmarkAddVV_1e3 1000000 2416 ns/op 26485.06 MB/s
BenchmarkAddVV_1e4 100000 23874 ns/op 26806.36 MB/s
BenchmarkAddVV_1e5 10000 241155 ns/op 26538.87 MB/s
BenchmarkAddVW_1 500000000 6.12 ns/op 10461.91 MB/s
BenchmarkAddVW_2 200000000 11.0 ns/op 11596.63 MB/s
BenchmarkAddVW_3 200000000 8.97 ns/op 21409.82 MB/s
BenchmarkAddVW_4 100000000 10.8 ns/op 23696.72 MB/s
BenchmarkAddVW_5 100000000 12.5 ns/op 25524.88 MB/s
BenchmarkAddVW_1e1 100000000 21.5 ns/op 29786.32 MB/s
BenchmarkAddVW_1e2 10000000 168 ns/op 37925.36 MB/s
BenchmarkAddVW_1e3 1000000 1658 ns/op 38579.15 MB/s
BenchmarkAddVW_1e4 100000 16492 ns/op 38805.85 MB/s
BenchmarkAddVW_1e5 10000 172155 ns/op 37175.69 MB/s
BenchmarkAddMulVVW_1 100000000 12.9 ns/op 4968.49 MB/s
BenchmarkAddMulVVW_2 100000000 15.5 ns/op 8279.42 MB/s
BenchmarkAddMulVVW_3 100000000 13.4 ns/op 14340.53 MB/s
BenchmarkAddMulVVW_4 100000000 15.8 ns/op 16194.94 MB/s
BenchmarkAddMulVVW_5 100000000 18.9 ns/op 16906.61 MB/s
BenchmarkAddMulVVW_1e1 50000000 32.3 ns/op 19838.35 MB/s
BenchmarkAddMulVVW_1e2 10000000 285 ns/op 22427.28 MB/s
BenchmarkAddMulVVW_1e3 1000000 2777 ns/op 23040.42 MB/s
BenchmarkAddMulVVW_1e4 100000 27901 ns/op 22938.01 MB/s
BenchmarkAddMulVVW_1e5 10000 281087 ns/op 22768.73 MB/s
R=r
CC=golang-dev
https://golang.org/cl/6478055
2012-08-23 15:56:14 -07:00
Adam Langley
0a115d72c1
crypto/tls: return better error message in the case of an SSLv2 handshake.
...
Update #3930
Return a better error message in this situation.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6474055
2012-08-23 16:44:44 -04:00
Mikio Hara
6cf77f2af4
net: avoid nil pointer dereference when RemoteAddr.String method chain is called
...
Fixes #3721 .
R=dave, rsc
CC=golang-dev
https://golang.org/cl/6395055
2012-08-23 20:54:00 +09:00
Shenghou Ma
e80f6a4de1
cmd/6g: fix float32/64->uint64 conversion
...
CVTSS2SQ's rounding mode is controlled by the RC field of MXCSR;
as we specifically need truncate semantic, we should use CVTTSS2SQ.
Fixes #3804 .
R=rsc, r
CC=golang-dev
https://golang.org/cl/6352079
2012-08-23 14:35:26 +08:00
Shenghou Ma
1cf27acfed
cmd/ld: set ELF header flags for our Linux/ARM binary
...
To make it more compliant.
This won't affect the behavior of running on OABI-only kernels.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6475044
2012-08-23 14:33:41 +08:00
Nigel Tao
251199c430
cmd/8g: roll back the small integer constant optimizations introduced
...
in 13416:67c0b8c8fb29 "faster code, mainly for rotate" [1]. The codegen
can run out of registers if there are too many small-int arithmetic ops.
An alternative approach is to copy 6g's sbop/abop codegen to 8g, but
this change is less risky.
Fixes #3835 .
[1] http://code.google.com/p/go/source/diff?spec=svn67c0b8c8fb29b1b7b6221977af6b89cae787b941&name=67c0b8c8fb29&r=67c0b8c8fb29b1b7b6221977af6b89cae787b941&format=side&path=/src/cmd/8g/cgen.c
R=rsc, remyoudompheng, r
CC=golang-dev
https://golang.org/cl/6450163
2012-08-23 16:17:22 +10:00
Rob Pike
6fd2febaef
time: fix spacing in comment.
...
No semantic change.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6475050
2012-08-22 21:30:18 -07:00
Carlos Castillo
7802080962
time: add YearDay method for time.Time structs
...
YearDay provides the day in the year represented by a given time.Time
object. This value is normally computed as part of other date calculations,
but not exported.
Fixes #3932 .
R=golang-dev, r, remyoudompheng
CC=golang-dev, rsc
https://golang.org/cl/6460069
2012-08-22 20:49:16 -07:00
Rob Pike
a738f2b2a2
C+A: add Carlos Castillo cookieo9@gmail.com (individual CLA)
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6479045
2012-08-22 20:48:54 -07:00
Rob Pike
84a5a9b558
time: avoid data race in abs
...
Fixes #3967 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6460115
2012-08-22 14:36:23 -07:00
Dave Borowitz
2eb6a16e16
net/http: Set TLSClientConfig.ServerName on every HTTP request.
...
This makes SNI "just work" for callers using the standard http.Client.
Since we now have a test that depends on the httptest.Server cert, change
the cert to be a CA (keeping all other fields the same).
R=bradfitz
CC=agl, dsymonds, gobot, golang-dev
https://golang.org/cl/6448154
2012-08-22 09:15:41 -07:00
Brad Fitzpatrick
c27a7dbf78
CONTRIBUTORS: Add Dave Borowitz (Google CLA)
...
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6484046
2012-08-22 09:01:30 -07:00
Joel Sing
2281c3294b
cmd/go: fix cgo linking on netbsd
...
NetBSD's built-in linker script for 'ld -r' does not provide a
SEARCH_DIR. As a result libgcc.a is not found when -lgcc is used.
Work around this by determining the path to libgcc (by invoking
gcc with the -print-libgcc-file-name option) and explicitly
referencing the resulting library.
R=golang-dev, iant, aram, lucio.dere, minux.ma
CC=golang-dev
https://golang.org/cl/6470044
2012-08-22 22:23:56 +10:00
Joakim Sernbrant
2e6d0968e3
archive/zip: zip64 support
...
R=golang-dev, r, adg
CC=golang-dev
https://golang.org/cl/6463050
2012-08-22 11:05:24 +10:00
Andrew Gerrand
7e3ebaacd8
A+C: add Joakim Sernbrant
...
R=golang-dev, nigeltao
CC=golang-dev
https://golang.org/cl/6476043
2012-08-22 11:03:20 +10:00
Nigel Tao
fa0e9cd279
exp/html: refactor the parser.read method.
...
R=andybalholm
CC=golang-dev
https://golang.org/cl/6463070
2012-08-21 20:59:02 +10:00
Dave Cheney
46c9346d74
net/http: fix misplaced defer and example
...
Moves the defer (again).
Also, correct the example documentation to match.
R=r, robert.hencke, iant, dsymonds, bradfitz
CC=golang-dev
https://golang.org/cl/6458158
2012-08-21 11:46:07 +10:00
Dave Cheney
2bdc60f8e7
net/http: fix send on close channel error
...
Fixes #3793 .
Tested using GOMAXPROCS=81 which was able to trigger a panic
in TestStressSurpriseServerCloses continually on a Core i5.
R=fullung, bradfitz
CC=golang-dev
https://golang.org/cl/6445069
2012-08-21 11:18:16 +10:00
Dave Cheney
122a558f47
os: fix data race on Process.done
...
Fixes #3969 .
R=dvyukov, r, alex.brainman, minux.ma
CC=golang-dev
https://golang.org/cl/6462081
2012-08-21 10:41:31 +10:00
Dmitriy Vyukov
922056d410
net: add TCP benchmarks
...
Current results on linux_amd64, 8 HT cores @2.4GHz:
BenchmarkTCPOneShot 10000 194037 ns/op
BenchmarkTCPOneShot-2 20000 93641 ns/op
BenchmarkTCPOneShot-4 20000 94039 ns/op
BenchmarkTCPOneShot-8 20000 94667 ns/op
BenchmarkTCPOneShot-16 10000 301924 ns/op
BenchmarkTCPOneShotTimeout 10000 193264 ns/op
BenchmarkTCPOneShotTimeout-2 20000 98247 ns/op
BenchmarkTCPOneShotTimeout-4 20000 94442 ns/op
BenchmarkTCPOneShotTimeout-8 20000 95297 ns/op
BenchmarkTCPOneShotTimeout-16 10000 307970 ns/op
BenchmarkTCPPersistent 50000 52050 ns/op
BenchmarkTCPPersistent-2 100000 29452 ns/op
BenchmarkTCPPersistent-4 100000 28823 ns/op
BenchmarkTCPPersistent-8 50000 30473 ns/op
BenchmarkTCPPersistent-16 10000 311777 ns/op
BenchmarkTCPPersistentTimeout 50000 32574 ns/op
BenchmarkTCPPersistentTimeout-2 50000 29723 ns/op
BenchmarkTCPPersistentTimeout-4 100000 28592 ns/op
BenchmarkTCPPersistentTimeout-8 100000 28997 ns/op
BenchmarkTCPPersistentTimeout-16 10000 314354 ns/op
R=golang-dev, alex.brainman, dave, mikioh.mikioh, r, iant, bradfitz, iant
CC=golang-dev
https://golang.org/cl/6458128
2012-08-20 21:27:52 +04:00
Shenghou Ma
b1532344ef
cmd/ld: skip R_*_NONE relocations, fix Linux/386 build again
...
The last fix was wrong w.r.t C's operator precedence,
and it also failed to really skip the NONE relocation.
The offending R_386_NONE relocation is a absolute
relocation in section .eh_frame.
TBR=golang-dev
CC=golang-dev
https://golang.org/cl/6463058
2012-08-21 00:34:06 +08:00
Shenghou Ma
2701046798
doc/install: we only need command line tools for Xcode on OS X
...
Fixes #3973 .
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6464078
2012-08-20 21:21:09 +08:00
Volker Dobler
db645a024d
strconv: consistent parameter names for ParseUint
...
If ParseUint is like ParseInt it should have the same parameter
names, thus rename b to to base as in ParseInt's documentation.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6453152
2012-08-20 22:30:04 +10:00
Dmitriy Vyukov
20f6a8fdaf
net/http: reduce mutex contention
...
benchmark old ns/op new ns/op delta
BenchmarkClientServerParallel 155909 154454 -0.93%
BenchmarkClientServerParallel-2 86012 82986 -3.52%
BenchmarkClientServerParallel-4 70211 55168 -21.43%
BenchmarkClientServerParallel-8 80755 47862 -40.73%
BenchmarkClientServerParallel-12 77753 51478 -33.79%
BenchmarkClientServerParallel-16 77920 50278 -35.47%
The benchmark is https://golang.org/cl/6441134
The machine is 2 x 4 HT cores (16 HW threads total).
Fixes #3946 .
Now contention moves to net.pollServer.AddFD().
R=bradfitz
CC=bradfitz, dave, dsymonds, gobot, golang-dev, remyoudompheng
https://golang.org/cl/6454142
2012-08-20 13:28:27 +04:00
Marcel van Lohuizen
a8357f0160
exp/locale/collate/build: fixed bug that was exposed by experimenting
...
with table changes.
NOTE: there is no test for this, but 1) the code has now the same
control flow as scan in exp/locale/collate/contract.go, which is
tested and 2) Builder verifies the generated table so bugs in this
code are quickly and easily found (which is how this bug was discovered).
R=r
CC=golang-dev
https://golang.org/cl/6461082
2012-08-20 10:56:41 +02:00
Marcel van Lohuizen
98883c811a
exp/locale/collate: let regtest generate its own collation table.
...
The main table will need to get a slightly different collation table as the one
used by regtest, as the regtest is based on the standard UCA DUCET, while
the locale-specific tables are all based on a CLDR root table.
This change allows changing the table without affecting the regression test.
R=r
CC=golang-dev
https://golang.org/cl/6453089
2012-08-20 10:56:19 +02:00
Marcel van Lohuizen
2845e5881f
exp/locale/collate: changed default AlternateHandling to non-ignorable, the same
...
default as ICU.
R=r
CC=golang-dev
https://golang.org/cl/6445080
2012-08-20 10:56:06 +02:00
Marcel van Lohuizen
6918357031
exp/locale/collate: Added test flag to maketables tool for comparing newly
...
against previously generated tables.
R=r
CC=golang-dev
https://golang.org/cl/6441098
2012-08-20 10:55:40 +02:00
Nigel Tao
2b14a48d54
exp/html: make the parser manipulate the tokenizer via exported methods
...
instead of touching the tokenizer's internal state.
R=andybalholm
CC=golang-dev
https://golang.org/cl/6446153
2012-08-20 11:04:36 +10:00
Mikkel Krautz
67924c1b60
crypto/tls: explicitly require ExtKeyUsageClientAuth for client certs
...
If we aren't explicit about the KeyUsages, the verifier
will treat the certificate as a server certificate and require
it to have a ExtKeyUsageServerAuth key usage.
R=golang-dev
CC=golang-dev
https://golang.org/cl/6453148
2012-08-18 15:50:33 -07:00