- 26 Mar, 2016 3 commits
-
-
Ian Lance Taylor authored
Try to avoid a race condition in the test. Passed 500 times on my laptop. Fixes #14956. Change-Id: I5de2e1e3623832f0ab4f180149f7c57ce7cd23c0 Reviewed-on: https://go-review.googlesource.com/21171 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
We were allocating two Nodes just to help Naddr fill in Type and Offset. Fill them in directly instead. Passes toolstash -cmp. name old time/op new time/op delta Template 324ms ± 5% 320ms ± 5% -1.34% (p=0.033 n=25+22) Unicode 164ms ± 6% 162ms ± 5% ~ (p=0.152 n=24+23) GoTypes 1.05s ± 5% 1.05s ± 6% ~ (p=0.653 n=23+25) Compiler 5.12s ± 4% 5.06s ± 3% -1.13% (p=0.006 n=25+23) MakeBash 41.8s ± 2% 41.6s ± 3% -0.65% (p=0.024 n=24+24) name old alloc/op new alloc/op delta Template 57.8MB ± 0% 57.3MB ± 0% -0.87% (p=0.000 n=25+25) Unicode 41.2MB ± 0% 41.1MB ± 0% -0.29% (p=0.000 n=24+22) GoTypes 193MB ± 0% 191MB ± 0% -0.97% (p=0.000 n=22+25) Compiler 850MB ± 0% 840MB ± 0% -1.28% (p=0.000 n=25+25) name old allocs/op new allocs/op delta Template 506k ± 0% 500k ± 0% -1.15% (p=0.000 n=25+25) Unicode 402k ± 0% 400k ± 0% -0.37% (p=0.000 n=24+25) GoTypes 1.52M ± 0% 1.50M ± 0% -1.42% (p=0.000 n=25+25) Compiler 6.16M ± 0% 6.04M ± 0% -2.05% (p=0.000 n=24+25) Change-Id: Ia80d28b32023a620d9ddf99c1252c16fa6477b3c Reviewed-on: https://go-review.googlesource.com/21174 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Christopher Nelson authored
This is in support of https://golang.org/cl/18057 which adds support for c-archive to the Windows platform. The signal handling tests do not compile on Windows. This splits them out into a separate main_unix.c file, and conditionally includes them for non-Windows platforms. Change-Id: Ic79ce83da7656d6703505e514554748a482b81a1 Reviewed-on: https://go-review.googlesource.com/21086Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 25 Mar, 2016 28 commits
-
-
Robert Griesemer authored
The colas function allocates 2 slice headers in each call (via Nodes.Set) only to throw away those slice headers in the common case where both the lhs and rhs in "lhs := rhs" have length 1. Avoid the Nodes.Set calls in those cases. For make.bash, this eliminates ~63,000 slice header allocations. Also: Minor cleanups in colasdefn. Change-Id: Ib114a67c3adeb8821868bd71a5e0f5e2e19fcd4f Reviewed-on: https://go-review.googlesource.com/21170Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Shenghou Ma authored
For #14876. Change-Id: I0992859264cbaf9c9b691fad53345bbb01b4cf3b Reviewed-on: https://go-review.googlesource.com/21085Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Shenghou Ma authored
For #14876. Change-Id: I33947f74e8058437a784862f1f064974afc99250 Reviewed-on: https://go-review.googlesource.com/21084Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Caleb Spare authored
- Fix a typo. - Skip this test on -short on non-builders. Change-Id: Id102eceb59451694bf92b618e02ccee6603b6852 Reviewed-on: https://go-review.googlesource.com/21113Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
David Benjamin authored
It's RFC 7507 now. Change-Id: Iccd6c65f9d4b1f4d17ee068dee4576a512ba8405 Reviewed-on: https://go-review.googlesource.com/21154Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Benjamin authored
High tag number form may not be used for tag numbers that fit in low tag number form. Change-Id: I93edde0e1f86087047e0b3f2e55d6180b01e78bf Reviewed-on: https://go-review.googlesource.com/18224Reviewed-by: Adam Langley <agl@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Joe Sylve authored
This fixes the problems with signal handling that were inadvertently introduced in https://go-review.googlesource.com/21006. Fixes #14899 Change-Id: Ia746914dcb3146a52413d32c57b089af763f0810 Reviewed-on: https://go-review.googlesource.com/21145Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
For #14962. Change-Id: I3539d882487c99dee99ac953e039b79c6b963cf9 Reviewed-on: https://go-review.googlesource.com/21150Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Mohit Agarwal authored
Fixes #14944 Change-Id: I73e0997cb6ebaeced1045b0ddadac893319bd78f Reviewed-on: https://go-review.googlesource.com/21065Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
I recently added TestUnexportedMethods which uses an interface type to pin type information for an unexported method. But as written, the interface type is not accessible to the reflect package. You can imagine a future compiler optimization realizing that and removing the type information for f. In fact, cl/20901 happens to do that. Change-Id: I1ddb67f50cb9b5737253b58f10545f3de652c29d Reviewed-on: https://go-review.googlesource.com/21112Reviewed-by: Michel Lespinasse <walken@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Marvin Stenger authored
This is a follow-up of https://go-review.googlesource.com/#/c/20653/ Special case computation for slices with elements of byte size or pointer size. name old time/op new time/op delta GrowSliceBytes-4 86.2ns ± 3% 75.4ns ± 2% -12.50% (p=0.000 n=20+20) GrowSliceInts-4 161ns ± 3% 136ns ± 3% -15.59% (p=0.000 n=19+19) GrowSlicePtr-4 239ns ± 2% 233ns ± 2% -2.52% (p=0.000 n=20+20) GrowSliceStruct24Bytes-4 258ns ± 3% 256ns ± 3% ~ (p=0.134 n=20+20) Change-Id: Ice5fa648058fe9d7fa89dee97ca359966f671128 Reviewed-on: https://go-review.googlesource.com/21101Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Elias Naur authored
The exec wrapper lock file was opened, locked and then never used again, assuming it would close and unlock at process exit. However, the garbage collector could collect and run the *os.File finalizer that closes the file prematurely, rendering the lock ineffective. Make the lock global so that the lock is live during the entire execution. (Hopefully) fix the iOS builders. Change-Id: I62429e92042a0a49c4f1ea553fdb32b6ea53a43e Reviewed-on: https://go-review.googlesource.com/21137Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
David Crawshaw authored
When creating binaries for dynamic linking, the linker moves read-only data symbols that contain pointers into relro sections. It is not setup for handling a go.string symbol moving to relro. Instead of teaching it how (because go.string symbols with pointers are unusual anyhow), put the data in a type.. section. Fixes the android builder. Change-Id: Ica4722d32241643c060923517b90276ff8ac6b07 Reviewed-on: https://go-review.googlesource.com/21110Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
Passes toolstash -cmp. name old alloc/op new alloc/op delta Template 58.5MB ± 0% 57.8MB ± 0% -1.15% (p=0.000 n=10+10) Unicode 41.3MB ± 0% 41.2MB ± 0% -0.17% (p=0.000 n=10+10) GoTypes 196MB ± 0% 193MB ± 0% -1.26% (p=0.000 n=10+10) Compiler 863MB ± 0% 850MB ± 0% -1.49% (p=0.000 n=10+10) name old allocs/op new allocs/op delta Template 522k ± 0% 507k ± 0% -2.99% (p=0.000 n=10+10) Unicode 403k ± 0% 401k ± 0% -0.42% (p=0.000 n=10+10) GoTypes 1.58M ± 0% 1.52M ± 0% -3.61% (p=0.000 n=10+10) Compiler 6.47M ± 0% 6.17M ± 0% -4.62% (p=0.000 n=10+10) Change-Id: Ia7a6242e8d226b41966c344d253814dcce6424a8 Reviewed-on: https://go-review.googlesource.com/21141 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Richard Miller authored
There's a race between runtime.goexitsall killing all OS processes of a go program in order to exit, and runtime.newosproc forking a new one. If the new process has been created but not yet stored its pid in m.procid, it will not be killed by goexitsall and deadlock results. This CL prevents the race by making the newly forked process check whether the program is exiting. It also prevents a potential "shoot-out" if multiple goroutines call Exit at the same time, which could possibly lead to two processes killing each other and leaving the rest deadlocked. Change-Id: I3170b4a62d2461f6b029b3d6aad70373714ed53e Reviewed-on: https://go-review.googlesource.com/21135 Run-TryBot: David du Colombier <0intro@gmail.com> Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David du Colombier <0intro@gmail.com>
-
Dmitry Vyukov authored
During random stealing we steal 4*GOMAXPROCS times from random procs. One would expect that most of the time we check all procs this way, but due to low quality PRNG we actually miss procs with frightening probability. Below are modelling experiment results for 1e6 tries: GOMAXPROCS = 2 : missed 1 procs 7944 times GOMAXPROCS = 3 : missed 1 procs 101620 times GOMAXPROCS = 3 : missed 2 procs 3571 times GOMAXPROCS = 4 : missed 1 procs 63916 times GOMAXPROCS = 4 : missed 2 procs 61 times GOMAXPROCS = 4 : missed 3 procs 16 times GOMAXPROCS = 5 : missed 1 procs 133136 times GOMAXPROCS = 5 : missed 2 procs 1025 times GOMAXPROCS = 5 : missed 3 procs 101 times GOMAXPROCS = 5 : missed 4 procs 15 times GOMAXPROCS = 8 : missed 1 procs 151765 times GOMAXPROCS = 8 : missed 2 procs 5057 times GOMAXPROCS = 8 : missed 3 procs 1726 times GOMAXPROCS = 8 : missed 4 procs 68 times GOMAXPROCS = 12 : missed 1 procs 199081 times GOMAXPROCS = 12 : missed 2 procs 27489 times GOMAXPROCS = 12 : missed 3 procs 3113 times GOMAXPROCS = 12 : missed 4 procs 233 times GOMAXPROCS = 12 : missed 5 procs 9 times GOMAXPROCS = 16 : missed 1 procs 237477 times GOMAXPROCS = 16 : missed 2 procs 30037 times GOMAXPROCS = 16 : missed 3 procs 9466 times GOMAXPROCS = 16 : missed 4 procs 1334 times GOMAXPROCS = 16 : missed 5 procs 192 times GOMAXPROCS = 16 : missed 6 procs 5 times GOMAXPROCS = 16 : missed 7 procs 1 times GOMAXPROCS = 16 : missed 8 procs 1 times A missed proc won't lead to underutilization because we check all procs again after dropping P. But it can lead to an unpleasant situation when we miss a proc, drop P, check all procs, discover work, acquire P, miss the proc again, repeat. Improve stealing logic to cover all procs. Also don't enter spinning mode and try to steal when there is nobody around. Change-Id: Ibb6b122cc7fb836991bad7d0639b77c807aab4c2 Reviewed-on: https://go-review.googlesource.com/20836Reviewed-by: Rick Hudson <rlh@golang.org> Run-TryBot: Dmitry Vyukov <dvyukov@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com>
-
Elias Naur authored
Fixes the iOS builders Change-Id: I5097ca19048381ffb5a4c5ea038b7c4aa18ee4b7 Reviewed-on: https://go-review.googlesource.com/21132Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Marcel van Lohuizen authored
Change-Id: I6113145baa727b9fd103765f74dc5d7af86dfdf8 Reviewed-on: https://go-review.googlesource.com/21131 Run-TryBot: Marcel van Lohuizen <mpvl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Marcel van Lohuizen authored
Change control flow to probe with N=1. This calls benchFunc the same number of times as the old implementation in the absence of subbenchmarks. To be compatible with existing tools, benchmarking only prints a line for "leaf" benchmarks. This means, though, that the name of a benchmark can only be printed after the first iteration. Issue #14863 Change-Id: Ic7b9b89b058f8ebb5287755f24f9e47df8c9537c Reviewed-on: https://go-review.googlesource.com/21043 Run-TryBot: Marcel van Lohuizen <mpvl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Marcel van Lohuizen authored
Also added go:generate directive. Change-Id: Ib1f0eddc75e3c47a4d904786a29b964a35b18456 Reviewed-on: https://go-review.googlesource.com/21042Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
-
Dominik Honnef authored
This change removes a lot of dead code. Some of the code has never been used, not even when it was first commited. The rest shouldn't have survived refactors. This change doesn't remove unused routines helpful for debugging, nor does it remove code that's used in commented out blocks of code that are only unused temporarily. Furthermore, unused constants weren't removed when they were part of a set of constants from specifications. One noteworthy omission from this CL are about 1000 lines of unused code in cmd/fix, 700 lines of which are the typechecker, which hasn't been used ever since the pre-Go 1 fixes have been removed. I wasn't sure if this code should stick around for future uses of cmd/fix or be culled as well. Change-Id: Ib714bc7e487edc11ad23ba1c3222d1fd02e4a549 Reviewed-on: https://go-review.googlesource.com/20926Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dmitry Chestnykh authored
Store already padded keys instead of storing key and padding it during Reset and Sum. This simplifies code and makes Reset-Write-Sum sequences faster, which helps /x/crypto/pbkdf2. HMAC benchmark: benchmark old ns/op new ns/op delta BenchmarkHMACSHA256_1K-4 7669 7613 -0.73% BenchmarkHMACSHA256_32-4 1880 1737 -7.61% benchmark old MB/s new MB/s speedup BenchmarkHMACSHA256_1K-4 133.52 134.50 1.01x BenchmarkHMACSHA256_32-4 17.02 18.41 1.08x PBKDF2 benchmark: benchmark old ns/op new ns/op delta BenchmarkPBKDF2HMACSHA256-4 1943196 1807699 -6.97% Change-Id: I6697028370c226715ab477b0844951a83eb3488c Reviewed-on: https://go-review.googlesource.com/21024 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
-
John Jeffery authored
The Lookup method provides a way to extract a tag value, while determining whether the tag key exists in the struct field's tag. Fixes #14883 Change-Id: I7460cb68f0ca1aaa025935050b9e182efcb64db3 Reviewed-on: https://go-review.googlesource.com/20864Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Caleb Spare authored
Fixes #14937. Change-Id: Iea11a32230d44d5a43f8aec812d25f13bce85895 Reviewed-on: https://go-review.googlesource.com/21038Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Caleb Spare authored
Fixes #6492. Change-Id: Ibc633c43a6d134bb140addb59780a5758b35a5c5 Reviewed-on: https://go-review.googlesource.com/21057 Run-TryBot: Caleb Spare <cespare@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Elias Naur authored
Ther darwin/arm{,64} exec wrapper now limits the number of concurrent executions to 1, so remove the higher level parallel task limit from the Go command. Change-Id: Id84f65c3908305bde0452b3c8db6df8c5a8881bb Reviewed-on: https://go-review.googlesource.com/21100Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Elias Naur authored
I failed to rebase (and re-test) CL 21102 before submit, which meant that two extra tests sneaked into testcarchive that still referenced runtime.GOOS and runtime.GOARCH. Convert the new tests. While we're here, make sure pending tasks are flushed before running the host tests. If not, the "##### misc/cgo/testcarchive" banner and "PASS" won't show up in the all.bash output. Change-Id: I41fc4ec9515f9a193fa052f7c31fac452153c897 Reviewed-on: https://go-review.googlesource.com/21106 Run-TryBot: Elias Naur <elias.naur@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Crawshaw authored
Create a byte encoding designed for static Go names. It is intended to be a compact representation of a name and optional tag data that can be turned into a Go string without allocating, and describes whether or not it is exported without unicode table. The encoding is described in reflect/type.go: // The first byte is a bit field containing: // // 1<<0 the name is exported // 1<<1 tag data follows the name // 1<<2 pkgPath *string follow the name and tag // // The next two bytes are the data length: // // l := uint16(data[1])<<8 | uint16(data[2]) // // Bytes [3:3+l] are the string data. // // If tag data follows then bytes 3+l and 3+l+1 are the tag length, // with the data following. // // If the import path follows, then ptrSize bytes at the end of // the data form a *string. The import path is only set for concrete // methods that are defined in a different package than their type. Shrinks binary sizes: cmd/go: 164KB (1.6%) jujud: 1.0MB (1.5%) For #6853. Change-Id: I46b6591015b17936a443c9efb5009de8dfe8b609 Reviewed-on: https://go-review.googlesource.com/20968 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 24 Mar, 2016 9 commits
-
-
Elias Naur authored
The c-archive test were recently converted from shell script to Go. Unfortunately, it also lost the ability to target iOS and Android that lack C compilers and require exec wrappers. Compile the c-archive test for the host and run it with the target GOOS/GOARCH environment. Change the test to rely on go env GOOS and go env GOARCH instead of runtime.GOOS and runtime.GOARCH. Fixes #8345 Change-Id: I290ace2f7e96b87c55d99492feb7d660140dcb32 Reviewed-on: https://go-review.googlesource.com/21102Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Updates #14047 Change-Id: I7e314e2c7e3e8da18ab023729740fbc9ea3f661e Reviewed-on: https://go-review.googlesource.com/21063 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Alexandru Moșoi authored
In f the extra & 63 is redundant because SHRQ already looks at the bottom 6 bits only. This is a trick on AMD64 to get rid of CMPQ/SBBQ/ANDQ if one knows that the shift counter is small. func f(x uint64, s uint) uint64 { return x >> (s & 63) } Change-Id: I4861c902168dabec9a6a14a85750246dde94fc08 Reviewed-on: https://go-review.googlesource.com/21073Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alexandru Moșoi authored
g used to produce CMPQ/SBBQ/ANDQ, but f didn't even though s&15 is at most s&63. func f(x uint64, s uint) uint64 { return x >> (s & 63) } func g(x uint64, s uint) uint64 { return x >> (s & 15) } Change-Id: Iab4a1a6e10b471dead9f1203e9d894677cf07bb2 Reviewed-on: https://go-review.googlesource.com/21048 Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Joe Sylve authored
The current runtime attempts to forward signals generated by non-Go code to the original signal handler. If it can't call the original handler directly, it currently attempts to re-raise the signal after resetting the handler. In this case, the original context is lost. This fix prevents that problem by simply returning from the go signal handler after resetting the original handler. It only does this when the original handler is the system default handler, which in all cases is known to not recover. The signal is not reset, so it is retriggered and the original handler takes over with the proper context. Fixes #14899 Change-Id: Ib1c19dfa4b50d9732d7a453de3784c8141e1cbb3 Reviewed-on: https://go-review.googlesource.com/21006Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
Android doesn't (generally) have /bin/sh. Change-Id: I343817c342e3473d09c85155761682b5ddb043e4 Reviewed-on: https://go-review.googlesource.com/21075Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Marvin Stenger authored
Fixes #14938. Additionally some simplifications along the way. Change-Id: I2c5fb7e32dcc6fab68fff36a49cb72e715756abe Reviewed-on: https://go-review.googlesource.com/21046Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
The iOS exec wrapper use complicated machinery to run a iOS binary on a device. Running several binaries concurrently doesn't work (reliably), which can break tests running concurrently. For my setup, the runtime:cpu124 and sync_cpu tests can't run reliably without one of them crashing. Add a file lock to the exec wrapper to serialize execution. Fixes #14318 (for me) Change-Id: I023610e014b327f8d66f1d2fd2e54dd0e56f2be0 Reviewed-on: https://go-review.googlesource.com/21074Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Josh Bleecher Snyder authored
We were allocating a Nodes for common method calls that did not modify the Nodes. Though there is no clear wall time impact, this significantly reduces the number of allocations, so it seems worth doing. Passes toolstash -cmp. name old alloc/op new alloc/op delta Template 59.0MB ± 0% 58.6MB ± 0% -0.81% (p=0.000 n=25+25) Unicode 41.4MB ± 0% 41.3MB ± 0% -0.18% (p=0.000 n=25+25) GoTypes 198MB ± 0% 197MB ± 0% -0.80% (p=0.000 n=24+25) Compiler 875MB ± 0% 865MB ± 0% -1.09% (p=0.000 n=25+25) name old allocs/op new allocs/op delta Template 581k ± 0% 520k ± 0% -10.42% (p=0.000 n=25+25) Unicode 413k ± 0% 403k ± 0% -2.30% (p=0.000 n=25+25) GoTypes 1.78M ± 0% 1.58M ± 0% -11.18% (p=0.000 n=25+25) Compiler 7.66M ± 0% 6.47M ± 0% -15.51% (p=0.000 n=25+25) Change-Id: I012a9f4b333821bdf61b4f2bdff4ce5c3b5d3057 Reviewed-on: https://go-review.googlesource.com/21056Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-