- 24 Aug, 2012 10 commits
-
-
Rob Pike authored
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
-
Robert Griesemer authored
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
-
Robert Griesemer authored
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
-
Marcel van Lohuizen authored
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
-
Dmitriy Vyukov authored
R=bradfitz@golang.org R=bradfitz CC=bradfitz, dave, dsymonds, gobot, golang-dev https://golang.org/cl/6441134
-
Nigel Tao authored
R=adg CC=golang-dev https://golang.org/cl/6480051
-
Julien Schmidt authored
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
-
Brad Fitzpatrick authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/6459050
-
David Symonds authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/6480058
-
Robert Griesemer authored
Bug introduced with CL 6454150. Fixes #4000. R=r CC=golang-dev https://golang.org/cl/6474061
-
- 23 Aug, 2012 9 commits
-
-
Robert Griesemer authored
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
-
Adam Langley authored
Update #3930 Return a better error message in this situation. R=golang-dev, r CC=golang-dev https://golang.org/cl/6474055
-
Mikio Hara authored
Fixes #3721. R=dave, rsc CC=golang-dev https://golang.org/cl/6395055
-
Shenghou Ma authored
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
-
Shenghou Ma authored
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
-
Nigel Tao authored
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
-
Rob Pike authored
No semantic change. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6475050
-
Carlos Castillo authored
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
-
Rob Pike authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/6479045
-
- 22 Aug, 2012 6 commits
-
-
Rob Pike authored
Fixes #3967. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6460115
-
Dave Borowitz authored
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
-
Brad Fitzpatrick authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/6484046
-
Joel Sing authored
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
-
Joakim Sernbrant authored
R=golang-dev, r, adg CC=golang-dev https://golang.org/cl/6463050
-
Andrew Gerrand authored
R=golang-dev, nigeltao CC=golang-dev https://golang.org/cl/6476043
-
- 21 Aug, 2012 4 commits
-
-
Nigel Tao authored
R=andybalholm CC=golang-dev https://golang.org/cl/6463070
-
Dave Cheney authored
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
-
Dave Cheney authored
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
-
Dave Cheney authored
Fixes #3969. R=dvyukov, r, alex.brainman, minux.ma CC=golang-dev https://golang.org/cl/6462081
-
- 20 Aug, 2012 10 commits
-
-
Dmitriy Vyukov authored
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
-
Shenghou Ma authored
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
-
Shenghou Ma authored
Fixes #3973. R=golang-dev, r CC=golang-dev https://golang.org/cl/6464078
-
Volker Dobler authored
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
-
Dmitriy Vyukov authored
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
-
Marcel van Lohuizen authored
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
-
Marcel van Lohuizen authored
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
-
Marcel van Lohuizen authored
default as ICU. R=r CC=golang-dev https://golang.org/cl/6445080
-
Marcel van Lohuizen authored
against previously generated tables. R=r CC=golang-dev https://golang.org/cl/6441098
-
Nigel Tao authored
instead of touching the tokenizer's internal state. R=andybalholm CC=golang-dev https://golang.org/cl/6446153
-
- 18 Aug, 2012 1 commit
-
-
Mikkel Krautz authored
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
-