- 20 May, 2013 8 commits
-
-
Dmitriy Vyukov authored
Currently most of the 32-bit builder are broken. Fixes #5516. R=golang-dev, dave, iant CC=golang-dev https://golang.org/cl/9573043
-
Brad Fitzpatrick authored
benchmark old ns/op new ns/op delta BenchmarkServerFakeConnNoKeepAlive 14431 14247 -1.28% BenchmarkServerFakeConnWithKeepAlive 11618 11357 -2.25% BenchmarkServerFakeConnWithKeepAliveLite 6735 6427 -4.57% BenchmarkServerHandlerTypeLen 8842 8740 -1.15% BenchmarkServerHandlerNoLen 8001 7828 -2.16% BenchmarkServerHandlerNoType 8270 8227 -0.52% BenchmarkServerHandlerNoHeader 6148 5920 -3.71% benchmark old allocs new allocs delta BenchmarkServerFakeConnNoKeepAlive 30 29 -3.33% BenchmarkServerFakeConnWithKeepAlive 25 24 -4.00% BenchmarkServerFakeConnWithKeepAliveLite 10 9 -10.00% BenchmarkServerHandlerTypeLen 18 17 -5.56% BenchmarkServerHandlerNoLen 15 14 -6.67% BenchmarkServerHandlerNoType 16 15 -6.25% BenchmarkServerHandlerNoHeader 10 9 -10.00% benchmark old bytes new bytes delta BenchmarkServerFakeConnNoKeepAlive 2557 2492 -2.54% BenchmarkServerFakeConnWithKeepAlive 2260 2194 -2.92% BenchmarkServerFakeConnWithKeepAliveLite 1092 1026 -6.04% BenchmarkServerHandlerTypeLen 1941 1875 -3.40% BenchmarkServerHandlerNoLen 1898 1832 -3.48% BenchmarkServerHandlerNoType 1906 1840 -3.46% BenchmarkServerHandlerNoHeader 1092 1026 -6.04% Update #5195 R=golang-dev, daniel.morsing CC=golang-dev https://golang.org/cl/9492044
-
Mikio Hara authored
R=golang-dev, dave, iant CC=golang-dev https://golang.org/cl/9575043
-
Mikio Hara authored
Update #5199 R=golang-dev, dvyukov CC=golang-dev https://golang.org/cl/8825043
-
Alex Brainman authored
R=golang-dev, bradfitz CC=dvyukov, golang-dev, mikioh.mikioh https://golang.org/cl/9495044
-
Dmitriy Vyukov authored
Fixes #5493. R=golang-dev, minux.ma, iant CC=golang-dev https://golang.org/cl/9557043
-
Brad Fitzpatrick authored
Don't allocate for the Date or Content-Length headers. A custom Date header formatter replaces use of time.Format. benchmark old ns/op new ns/op delta BenchmarkClientServer 67791 64424 -4.97% BenchmarkClientServerParallel4 62956 58533 -7.03% BenchmarkClientServerParallel64 62043 54789 -11.69% BenchmarkServer 254609 229060 -10.03% BenchmarkServerFakeConnNoKeepAlive 17038 16316 -4.24% BenchmarkServerFakeConnWithKeepAlive 14184 13226 -6.75% BenchmarkServerFakeConnWithKeepAliveLite 8591 7532 -12.33% BenchmarkServerHandlerTypeLen 10750 9961 -7.34% BenchmarkServerHandlerNoLen 9535 8935 -6.29% BenchmarkServerHandlerNoType 9858 9362 -5.03% BenchmarkServerHandlerNoHeader 7754 6856 -11.58% benchmark old allocs new allocs delta BenchmarkClientServer 68 66 -2.94% BenchmarkClientServerParallel4 68 66 -2.94% BenchmarkClientServerParallel64 68 66 -2.94% BenchmarkServer 21 19 -9.52% BenchmarkServerFakeConnNoKeepAlive 32 30 -6.25% BenchmarkServerFakeConnWithKeepAlive 27 25 -7.41% BenchmarkServerFakeConnWithKeepAliveLite 12 10 -16.67% BenchmarkServerHandlerTypeLen 19 18 -5.26% BenchmarkServerHandlerNoLen 17 15 -11.76% BenchmarkServerHandlerNoType 17 16 -5.88% BenchmarkServerHandlerNoHeader 12 10 -16.67% Update #5195 R=nigeltao CC=golang-dev https://golang.org/cl/9432046
-
Alex Brainman authored
This is in preparation for netpoll windows version. R=golang-dev, bradfitz CC=dvyukov, golang-dev, mikioh.mikioh https://golang.org/cl/9569043
-
- 19 May, 2013 2 commits
-
-
Dmitriy Vyukov authored
R=golang-dev, r, dave CC=golang-dev https://golang.org/cl/9307045
-
Dave Cheney authored
R=r, adg, dsymonds CC=golang-dev https://golang.org/cl/9535044
-
- 18 May, 2013 5 commits
-
-
Anthony Martin authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/8652043
-
Anthony Martin authored
Usleep is called from lockextra, also marked NOSPLIT. R=golang-dev, r CC=golang-dev https://golang.org/cl/9258043
-
Anthony Martin authored
R=golang-dev, remyoudompheng, r CC=golang-dev https://golang.org/cl/9249044
-
Keith Randall authored
benchmark old ns/op new ns/op delta BenchmarkDecodeDigitsSpeed1e4 197767 203490 +2.89% BenchmarkDecodeDigitsSpeed1e5 1873969 1912761 +2.07% BenchmarkDecodeDigitsSpeed1e6 18922760 19021056 +0.52% BenchmarkDecodeDigitsDefault1e4 194975 197054 +1.07% BenchmarkDecodeDigitsDefault1e5 1704262 1719988 +0.92% BenchmarkDecodeDigitsDefault1e6 16618354 16351957 -1.60% BenchmarkDecodeDigitsCompress1e4 195281 194626 -0.34% BenchmarkDecodeDigitsCompress1e5 1694364 1702372 +0.47% BenchmarkDecodeDigitsCompress1e6 16463347 16492126 +0.17% BenchmarkDecodeTwainSpeed1e4 200653 200127 -0.26% BenchmarkDecodeTwainSpeed1e5 1861385 1759632 -5.47% BenchmarkDecodeTwainSpeed1e6 18255769 17186679 -5.86% BenchmarkDecodeTwainDefault1e4 189080 185157 -2.07% BenchmarkDecodeTwainDefault1e5 1559222 1461465 -6.27% BenchmarkDecodeTwainDefault1e6 14792125 13879051 -6.17% BenchmarkDecodeTwainCompress1e4 188881 185151 -1.97% BenchmarkDecodeTwainCompress1e5 1537031 1456945 -5.21% BenchmarkDecodeTwainCompress1e6 14805972 13405094 -9.46% BenchmarkPaeth 4 4 -0.89% BenchmarkDecodeGray 964679 937244 -2.84% BenchmarkDecodeNRGBAGradient 3753769 3646416 -2.86% BenchmarkDecodeNRGBAOpaque 3165856 2981300 -5.83% BenchmarkDecodePaletted 713950 691984 -3.08% BenchmarkDecodeRGB 3051718 2924260 -4.18% R=nigeltao, bradfitz CC=golang-dev, raph https://golang.org/cl/9425046
-
Dominik Honnef authored
Fixes #5511. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/9530043
-
- 17 May, 2013 8 commits
-
-
Brad Fitzpatrick authored
Share garbage between different bufio Readers. When a Reader has zero buffered data, put its buffer into a pool. This acknowledges that most bufio.Readers eventually get read to completion, and their buffers are then no longer needed. benchmark old ns/op new ns/op delta BenchmarkReaderEmpty 2993 1058 -64.65% benchmark old allocs new allocs delta BenchmarkReaderEmpty 3 2 -33.33% benchmark old bytes new bytes delta BenchmarkReaderEmpty 4278 133 -96.89% Update #5100 R=r CC=adg, dvyukov, gobot, golang-dev, rogpeppe https://golang.org/cl/8819049
-
Rob Pike authored
R=golang-dev, dsymonds, rsc, iant, dave CC=golang-dev https://golang.org/cl/9496043
-
Keith Randall authored
REP instructions have a high startup cost, so we handle small sizes with some straightline code. The REP MOVSx instructions are really fast for large sizes. The cutover is approximately 1K. We implement up to 128/256 because that is the maximum SSE register load (loading all data into registers before any stores lets us ignore copy direction). (on a Sandy Bridge E5-1650 @ 3.20GHz) benchmark old ns/op new ns/op delta BenchmarkMemmove0 3 3 +0.86% BenchmarkMemmove1 5 5 +5.40% BenchmarkMemmove2 18 8 -56.84% BenchmarkMemmove3 18 7 -58.45% BenchmarkMemmove4 36 7 -78.63% BenchmarkMemmove5 36 8 -77.91% BenchmarkMemmove6 36 8 -77.76% BenchmarkMemmove7 36 8 -77.82% BenchmarkMemmove8 18 8 -56.33% BenchmarkMemmove9 18 7 -58.34% BenchmarkMemmove10 18 7 -58.34% BenchmarkMemmove11 18 7 -58.45% BenchmarkMemmove12 36 7 -78.51% BenchmarkMemmove13 36 7 -78.48% BenchmarkMemmove14 36 7 -78.56% BenchmarkMemmove15 36 7 -78.56% BenchmarkMemmove16 18 7 -58.24% BenchmarkMemmove32 18 8 -54.33% BenchmarkMemmove64 18 8 -53.37% BenchmarkMemmove128 20 9 -55.93% BenchmarkMemmove256 25 11 -55.16% BenchmarkMemmove512 33 33 -1.19% BenchmarkMemmove1024 43 44 +2.06% BenchmarkMemmove2048 61 61 +0.16% BenchmarkMemmove4096 95 95 +0.00% R=golang-dev, bradfitz, remyoudompheng, khr, iant, dominik.honnef CC=golang-dev https://golang.org/cl/9038048
-
Shenghou Ma authored
Fixes #5480. R=golang-dev, iant CC=golang-dev https://golang.org/cl/9475043
-
Shenghou Ma authored
Fixes #5200. R=iant, dave CC=golang-dev https://golang.org/cl/9383043
-
Alex Brainman authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/9458043
-
Alex Brainman authored
It appears, syscall.NewCallback still uses heap to store executable code. R=golang-dev, khr CC=golang-dev https://golang.org/cl/9060046
-
Alex Brainman authored
R=golang-dev, bradfitz, khr CC=golang-dev https://golang.org/cl/9235046
-
- 16 May, 2013 5 commits
-
-
Carl Shapiro authored
The stack scanner for not started goroutines ignored the arguments area when its size was unknown. With this change, the distance between the stack pointer and the stack base will be used instead. Fixes #5486 R=golang-dev, bradfitz, iant, dvyukov CC=golang-dev https://golang.org/cl/9440043
-
Adam Langley authored
A test added in b37d2fdcc4d9 didn't work with some values of GOMAXPROCS because the defer statements were in the wrong order: the Pipe could be closed before the TLS Client was. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/9187047
-
Alex Brainman authored
Fixes #5481. R=golang-dev, dominik.honnef, bradfitz CC=golang-dev https://golang.org/cl/9437044
-
Rémy Oudompheng authored
When T was an unexported type it could be forgotten. Fixes #5470. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/9303050
-
Brad Fitzpatrick authored
This is a version of Time.Format that doesn't require allocation. Fixes #5192 Update #5195 R=r CC=gobot, golang-dev https://golang.org/cl/8478044
-
- 15 May, 2013 12 commits
-
-
Robert Hencke authored
R=golang-dev, bradfitz, jonathan, r CC=golang-dev https://golang.org/cl/8730044
-
Dmitriy Vyukov authored
If a slice points to an array embedded in a struct, the whole struct can be incorrectly scanned as the slice buffer. Fixes #5443. R=cshapiro, iant, r, cshapiro, minux.ma CC=bradfitz, gobot, golang-dev https://golang.org/cl/9372044
-
Rob Pike authored
R=golang-dev, gri CC=golang-dev https://golang.org/cl/9104052
-
Dmitriy Vyukov authored
Allocs of size 16 can bypass atomic set of the allocated bit, while allocs of size 8 can not. Allocs with and w/o type info hit different paths inside of malloc. Current results on linux/amd64: BenchmarkMalloc8 50000000 43.6 ns/op BenchmarkMalloc16 50000000 46.7 ns/op BenchmarkMallocTypeInfo8 50000000 61.3 ns/op BenchmarkMallocTypeInfo16 50000000 63.5 ns/op R=golang-dev, remyoudompheng, minux.ma, bradfitz, iant CC=golang-dev https://golang.org/cl/9090045
-
Keith Randall authored
for checking for page boundary. Also avoid boundary check when >=16 bytes are hashed. benchmark old ns/op new ns/op delta BenchmarkHashStringSpeed 23 22 -0.43% BenchmarkHashBytesSpeed 44 42 -3.61% BenchmarkHashStringArraySpeed 71 68 -4.05% R=iant, khr CC=gobot, golang-dev, google https://golang.org/cl/9123046
-
Dmitriy Vyukov authored
Finer-grained transfers were relevant with per-M caches, with per-P caches they are not relevant and harmful for performance. For few small size classes where it makes difference, it's fine to grab the whole span (4K). benchmark old ns/op new ns/op delta BenchmarkMalloc 42 40 -4.45% R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/9374043
-
Adam Langley authored
The PKCS#1 spec requires that the PS padding in an RSA message be at least 8 bytes long. We were not previously checking this. This isn't important in the most common situation (session key encryption), but the impact is unclear in other cases. This change enforces the specified minimum size. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/9222045
-
Adam Langley authored
OpenSSL can be configured to send empty records in order to randomise the CBC IV. This is an early version of 1/n-1 record splitting (that Go does) and is quite reasonable, but it results in tls.Conn.Read returning (0, nil). This change ignores up to 100 consecutive, empty records to avoid returning (0, nil) to callers. Fixes 5309. R=golang-dev, r, minux.ma CC=golang-dev https://golang.org/cl/8852044
-
Adam Langley authored
This patch resulted from a bit of quick optimisation in response to a golang-nuts post. It looks like one could save a couple other copies in this function, but this addresses the inner loop and is fairly simple. benchmark old ns/op new ns/op delta BenchmarkGCD10x10 1964 1711 -12.88% BenchmarkGCD10x100 2019 1736 -14.02% BenchmarkGCD10x1000 2471 2171 -12.14% BenchmarkGCD10x10000 6040 5778 -4.34% BenchmarkGCD10x100000 43204 43025 -0.41% BenchmarkGCD100x100 11004 8520 -22.57% BenchmarkGCD100x1000 11820 9446 -20.08% BenchmarkGCD100x10000 23846 21382 -10.33% BenchmarkGCD100x100000 133691 131505 -1.64% BenchmarkGCD1000x1000 120041 95591 -20.37% BenchmarkGCD1000x10000 136887 113600 -17.01% BenchmarkGCD1000x100000 295370 273912 -7.26% BenchmarkGCD10000x10000 2556126 2205198 -13.73% BenchmarkGCD10000x100000 3159512 2808038 -11.12% BenchmarkGCD100000x100000 150543094 139986045 -7.01% R=gri, remyoudompheng CC=bradfitz, gobot, golang-dev, gri https://golang.org/cl/9424043
-
Dmitriy Vyukov authored
This is needed for preemptive scheduler, it will preempt only when m->locks==0, and we do not want to be preempted while we have not completely unlocked the lock. R=golang-dev, khr, iant CC=golang-dev https://golang.org/cl/9196047
-
Dmitriy Vyukov authored
Compiler can detect and delete dead code with enums, but can not with static vars. R=golang-dev, dave, r CC=golang-dev https://golang.org/cl/9377043
-
Dmitriy Vyukov authored
Also change table type from int32[] to int8[] to save space in L1$. benchmark old ns/op new ns/op delta BenchmarkMalloc 42 40 -4.68% R=golang-dev, bradfitz, r CC=golang-dev https://golang.org/cl/9199044
-