- 16 Apr, 2019 16 commits
-
-
Matthew Dempsky authored
The new escape analysis implementation tries to emit debugging diagnostics that are compatible with the existing implementation, but there's a handful of cases that are easier to handle by updating the test expectations instead. For regress tests that need updating, the original file is copied to oldescapeXXX.go.go with -newescape=false added to the //errorcheck line, while the file is updated in place with -newescape=true and new test requirements. Notable test changes: 1) escape_because.go looks for a lot of detailed internal debugging messages that are fairly particular to how esc.go works and that I haven't attempted to port over to escape.go yet. 2) There are a lot of "leaking param: x to result ~r1 level=-1" messages for code like func(p *int) *T { return &T{p} } that were simply wrong. Here &T must be heap allocated unconditionally (because it's being returned); and since p is stored into it, p escapes unconditionally too. esc.go incorrectly reports that p escapes conditionally only if the returned pointer escaped. 3) esc.go used to print each "leaking param" analysis result as it discovered them, which could lead to redundant messages (e.g., that a param leaks at level=0 and level=1). escape.go instead prints everything at the end, once it knows the shortest path to each sink. 4) esc.go didn't precisely model direct-interface types, resulting in some values unnecessarily escaping to the heap when stored into non-escaping interface values. 5) For functions written in assembly, esc.go only printed "does not escape" messages, whereas escape.go prints "does not escape" or "leaking param" as appropriate, consistent with the behavior for functions written in Go. 6) 12 tests included "BAD" annotations identifying cases where esc.go was unnecessarily heap allocating something. These are all fixed by escape.go. Updates #23109. Change-Id: Iabc9eb14c94c9cadde3b183478d1fd54f013502f Reviewed-on: https://go-review.googlesource.com/c/go/+/170447 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Kunpei Sakai authored
Even when a custom TLS config or custom dialer is specified, enables HTTP/2 if DialerAndTLSConfigSupportsHTTP2 is true. By this change, avoid automatically enabling HTTP/2 if DialContext is set. This change also ensures that DefaultTransport still automatically enable HTTP/2 as discussed in #14391. Updates #14391 Fixes #27011 Change-Id: Icc46416810bee61dbd65ebc96468335030b80573 Reviewed-on: https://go-review.googlesource.com/c/go/+/130256Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Kunpei Sakai <namusyaka@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Fedor Korotkiy authored
Updates #30296 Change-Id: Ifea1a4c82c1c5b31fdc2e96fdbb1274748c8f50e Reviewed-on: https://go-review.googlesource.com/c/go/+/164459Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Michael Munday authored
Mnemonics for these instructions were added to the assembler in CL 159357. Change-Id: Ie11c45ecc9cead9a8850fcc929b0211cfd980fe5 Reviewed-on: https://go-review.googlesource.com/c/go/+/160157 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
喜欢兰花山丘 authored
Minor style change. Change-Id: Ib30243a71a83de1a67d3d005bfdd1e04265fca1e GitHub-Last-Rev: 9d654de10eaa6f01ece29790fb81bc41dfd61eaf GitHub-Pull-Request: golang/go#31479 Reviewed-on: https://go-review.googlesource.com/c/go/+/172199Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Sameer Ajmani <sameer@golang.org>
-
Elias Naur authored
Only invoke adb for android if we're not running on android already. Change-Id: I4eb94286a5bf09b382716a0474f3aebec40f5d74 Reviewed-on: https://go-review.googlesource.com/c/go/+/170953 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
sigaction is called as part of library mode initializers (_rt0_*_lib). Sigaction in turn calls getg, but on Android the TLS offset for g has not been initialized and getg might return garbage. Add a check for initialization before calling getg. Fixes the golang.org/x/mobile/bind/java tests on amd64 and 386. Fixes #31476 Change-Id: Id2c41fdc983239eca039b49a54b8853c5669d127 Reviewed-on: https://go-review.googlesource.com/c/go/+/172158Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Richard Musiol authored
WebAssembly's memory is contiguous. Allocating memory at a high address also allocates all memory up to that address. This change reduces the initial memory allocated on wasm from 1GB to 16MB by using multiple heap arenas and reducing the size of a heap arena. Fixes #27462. Change-Id: Ic941e6edcadd411e65a14cb2f9fd6c8eae02fc7a Reviewed-on: https://go-review.googlesource.com/c/go/+/170950 Run-TryBot: Richard Musiol <neelance@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Dmitry Savintsev authored
Change-Id: I3cb4fb7cacba51bfd611ade918f16c618e2569fd Reviewed-on: https://go-review.googlesource.com/c/go/+/172159Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Martí authored
A handful of packages were reimplementing IsExported, so use token.IsExported instead. This caused the deps test to fail for net/rpc. However, net/rpc deals with Go types, and go/token is light and fairly low-level in terms of Go tooling packages, so that's okay. While at it, replace all uses of ast.IsExported with token.IsExported. This is more consistent, and also means that the import graphs are leaner. A couple of files no longer need to import go/ast, for example. We can't get rid of cmd/compile/internal/types.IsExported, as the compiler can only depend on go/token as of Go 1.4. However, gc used different implementations in a couple of places, so consolidate the use of types.IsExported there. Finally, we can't get rid of the copied IsExported implementation in encoding/gob, as go/token depends on it as part of a test. That test can't be an external test either, so there's no easy way to break the import cycle. Overall, this removes about forty lines of unnecessary code. Change-Id: I86a475b7614261e6a7b0b153d5ca02b9f64a7b2d Reviewed-on: https://go-review.googlesource.com/c/go/+/172037 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Clément Chigot authored
The AIX special handler which skips this test if unix network isn't supported, doesn't need to be called inside the helper process. Change-Id: I7ff2c4e6b20eceb977380294858cae63034ffe0d Reviewed-on: https://go-review.googlesource.com/c/go/+/172160 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
-
Ivan Osadchiy authored
Improves readability of the generic implementation. Updates #31456. Benchmarks (i7-4980HQ CPU) name old time/op new time/op delta Hash8Bytes-8 339ns ± 3% 337ns ± 2% ~ (p=0.595 n=5+5) Hash1K-8 5.12µs ± 6% 4.97µs ± 6% ~ (p=0.310 n=5+5) Hash8K-8 37.6µs ± 5% 38.1µs ± 6% ~ (p=0.841 n=5+5) name old speed new speed delta Hash8Bytes-8 23.6MB/s ± 3% 23.8MB/s ± 3% ~ (p=0.690 n=5+5) Hash1K-8 200MB/s ± 6% 206MB/s ± 5% ~ (p=0.310 n=5+5) Hash8K-8 218MB/s ± 5% 215MB/s ± 6% ~ (p=0.841 n=5+5) Change-Id: Ic488841699138efde76e900bce1dd38fdbc88ec6 Reviewed-on: https://go-review.googlesource.com/c/go/+/171731Reviewed-by: Ilya Tokar <tocarip@gmail.com> Run-TryBot: Ilya Tokar <tocarip@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Munday authored
This CL adds the following instructions, useful for shifting/rotating and masking operations: * RNSBG - rotate then and selected bits * ROSBG - rotate then or selected bits * RXSBG - rotate then exclusive or selected bits * RISBG - rotate then insert selected bits It also adds the 'T' (test), 'Z' (zero), 'H' (high), 'L' (low) and 'N' (no test) variants of these instructions as appropriate. Operands are ordered as: I₃, I₄, I₅, R₂, R₁. Key: I₃=start, I₄=end, I₅=amount, R₂=source, R₁=destination Change-Id: I200d12287e1df7447f37f4919da5e9a93d27c792 Reviewed-on: https://go-review.googlesource.com/c/go/+/159357 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
Allow up to 3 RestArgs arguments to be specified. This is needed to for us to add the 'rotate and ... bits' instructions, which require 5 arguments, cleanly. Change-Id: I76b89adfb5e3cd85a43023e412f0cc202d489e0b Reviewed-on: https://go-review.googlesource.com/c/go/+/171726 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
The param field isn't useful, we can just use REGSP instead. Change-Id: I2ac68131c390209cc84e43aa7620ccbf5ae69120 Reviewed-on: https://go-review.googlesource.com/c/go/+/171725 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: I820dae0303959096f0c434b7e69ecb3bf070df09 Reviewed-on: https://go-review.googlesource.com/c/go/+/172197 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 15 Apr, 2019 16 commits
-
-
Ross Light authored
For prose consistency with other documentation. Change-Id: I1588fbe1feace2a97b02b20bba730ed730b84fa3 Reviewed-on: https://go-review.googlesource.com/c/go/+/171772 Run-TryBot: Ross Light <light@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
bronze1man authored
Fixes #29135 Change-Id: I4c10b0395047775e8488b8b0f00f74a7fa01b86c GitHub-Last-Rev: 120977040506794f00c74383289f913b1e0edd4a GitHub-Pull-Request: golang/go#29728 Reviewed-on: https://go-review.googlesource.com/c/go/+/157777Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
sergey authored
Parse the headers without splitting them upfront to reduce memory allocations. For non-pathological Cookie headers we can make a good estimate of the number of cookies in there and preallocate the slice of cookies name old time/op new time/op delta CookieString-4 1.73µs ± 2% 1.70µs ± 5% ~ (p=0.841 n=5+5) ReadSetCookies-4 6.09µs ± 3% 5.93µs ± 3% ~ (p=0.095 n=5+5) ReadCookies-4 7.63µs ± 1% 6.41µs ± 4% -15.99% (p=0.008 n=5+5) name old alloc/op new alloc/op delta CookieString-4 360B ± 0% 360B ± 0% ~ (all equal) ReadSetCookies-4 976B ± 0% 976B ± 0% ~ (all equal) ReadCookies-4 2.17kB ± 0% 1.84kB ± 0% -15.13% (p=0.008 n=5+5) name old allocs/op new allocs/op delta CookieString-4 5.00 ± 0% 5.00 ± 0% ~ (all equal) ReadSetCookies-4 15.0 ± 0% 15.0 ± 0% ~ (all equal) ReadCookies-4 16.0 ± 0% 11.0 ± 0% -31.25% (p=0.008 n=5+5) Change-Id: Ica1ca0d40c0d8d275134d1dfafb73f1082115826 Reviewed-on: https://go-review.googlesource.com/c/go/+/163617Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Fixes golang/go#30694 Change-Id: I12a0a870e4aee6576e879d88a4868666ef448298 Reviewed-on: https://go-review.googlesource.com/c/go/+/167681 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: JP Sugarbroad <jpsugar@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
LE Manh Cuong authored
Since golang.org/cl/32487, treecopy does not handle non-iota ONONAME and iota ONONAME anymore. Change-Id: Icd5a81333a0d4d04adef2dbc58db92ce67aa0860 Reviewed-on: https://go-review.googlesource.com/c/go/+/172038Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Austin Clements authored
Change-Id: Ie0171f48aaf48d8399ef578f95352445741d83a9 Reviewed-on: https://go-review.googlesource.com/c/go/+/171773Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Josh Bleecher Snyder authored
The existing pclntab construction took care to re-use strings: filenames and fully qualified function names. It did not try to deduplicate pctab information, perhaps because the author assumed that there wouldn't be much duplication. This change introduces that deduplication. The cache gets a 33% hit rate during make.bash. This doesn't require any changes to the file format, and shrinks binaries by about 1%. Updates #6853 file before after Δ % go 14659236 14515876 -143360 -0.978% addr2line 4272424 4223272 -49152 -1.150% api 6050808 5993464 -57344 -0.948% asm 4906416 4869552 -36864 -0.751% buildid 2861104 2824240 -36864 -1.288% cgo 4859784 4810632 -49152 -1.011% compile 25749656 25213080 -536576 -2.084% cover 5286952 5229608 -57344 -1.085% dist 3634192 3597328 -36864 -1.014% doc 4691080 4641928 -49152 -1.048% fix 3397960 3361096 -36864 -1.085% link 6113568 6064432 -49136 -0.804% nm 4221928 4172776 -49152 -1.164% objdump 4636600 4587448 -49152 -1.060% pack 2281184 2256608 -24576 -1.077% pprof 14641204 14485556 -155648 -1.063% test2json 2814536 2785864 -28672 -1.019% trace 11602204 11487516 -114688 -0.989% vet 8399528 8313512 -86016 -1.024% Change-Id: I59c6aae522700a0d36ddd2cbca6e22ecdf17eea2 Reviewed-on: https://go-review.googlesource.com/c/go/+/172079 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
More minor cleanup: * Code simplification * Move variable declaration closer to use * Add docs * Refactor loop Change-Id: I6f662cb65038b6ad927eb83757b241ac1ef58943 Reviewed-on: https://go-review.googlesource.com/c/go/+/172078 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
Fixes #31468 Change-Id: I5c4e61631b8af35bfc14b0cb9bc77feec100e340 Reviewed-on: https://go-review.googlesource.com/c/go/+/172058 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Udalov Max authored
This makes code more readable and idiomatic and slightly increase performance. Updates #31456 Benchstat: name old time/op new time/op delta Hash8Bytes-8 281ns ± 4% 280ns ± 3% ~ (p=0.640 n=10+10) Hash1K-8 2.01µs ± 6% 2.02µs ± 3% ~ (p=0.481 n=10+10) Hash8K-8 14.2µs ± 6% 13.5µs ± 1% -4.90% (p=0.001 n=10+10) name old speed new speed delta Hash8Bytes-8 28.5MB/s ± 4% 28.5MB/s ± 3% ~ (p=0.516 n=10+10) Hash1K-8 510MB/s ± 6% 507MB/s ± 4% ~ (p=0.481 n=10+10) Hash8K-8 576MB/s ± 6% 605MB/s ± 1% +5.02% (p=0.001 n=10+10) Tested on macbook pro 2018 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz Change-Id: I1f5b78096dd49d14ffcb9129142c4a4e05b81ff9 Reviewed-on: https://go-review.googlesource.com/c/go/+/171736Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
Robert Griesemer authored
Rearranged code slightly to make lifetime of underlying array of pow5 more explicit in code. Fixes #31184. Change-Id: I063081f0e54097c499988d268a23813746592654 Reviewed-on: https://go-review.googlesource.com/c/go/+/170641Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
Matthew Dempsky authored
This CL adds a new escape analysis implementation, which can be enabled through the -newescape compiler flag. This implementation focuses on simplicity, but in the process ends up using less memory, speeding up some compile-times, fixing memory corruption issues, and overall significantly improving escape analysis results. Updates #23109. Change-Id: I6176d9a7ae9d80adb0208d4112b8a1e1f4c9143a Reviewed-on: https://go-review.googlesource.com/c/go/+/170322 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Michael Munday authored
On Ubuntu 18.04 I am seeing GDB fail to restore the stack pointer during this test because stack unwinding can't find the PC. This CL is essentially a partial revert of CL 23940 and fixes the issue on s390x. Change-Id: Ib4c41162dc85dc882eb6e248330f4082c3fa94c3 Reviewed-on: https://go-review.googlesource.com/c/go/+/169857 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Michael Munday authored
This CL adds a new attribute, TOPFRAME, which can be used to mark functions that should be treated as being at the top of the call stack. The function `runtime.goexit` has been marked this way on architectures that use a link register. This will stop programs that use DWARF to unwind the call stack from unwinding past `runtime.goexit` on architectures that use a link register. For example, it eliminates "corrupt stack?" warnings when generating a backtrace that hits `runtime.goexit` in GDB on s390x. Similar code should be added for non-link-register architectures (i.e. amd64, 386). They mark the top of the call stack slightly differently to link register architectures so I haven't added that code (they need to mark "rip" as undefined). Fixes #24385. Change-Id: I15b4c69ac75b491daa0acf0d981cb80eb06488de Reviewed-on: https://go-review.googlesource.com/c/go/+/169726 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Yuval Pavel Zholkover authored
Change-Id: Icc1a54da848bf446919c0d5470d1e79fad339832 Reviewed-on: https://go-review.googlesource.com/c/go/+/171727Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Daniel Martí authored
Telling whether a string is a valid Go identifier can seem like an easy task, but it's easy to forget about the edge cases. For example, some implementations out there forget that an empty string or keywords like "func" aren't valid identifiers. Add a simple implementation with proper Unicode support, and start using it in cmd/cover and cmd/doc. Other pieces of the standard library reimplement part of this logic, but don't use a "func(string) bool" signature, so we're leaving them untouched for now. Add some tests too, to ensure that we actually got these edge cases correctly. Since telling whether a string is a valid identifier requires knowing that it's not a valid keyword, add IsKeyword too. The internal map was already accessible via Lookup, but "Lookup(str) != IDENT" isn't as easy to understand as IsKeyword(str). And, as per Josh's suggestion, we could have IsKeyword (and probably Lookup too) use a perfect hash function instead of a global map. Finally, for consistency with these new functions, add IsExported. That makes go/ast.IsExported a bit redundant, so perhaps it can be deprecated in favor of go/token.IsExported in the future. Clarify that token.IsExported doesn't imply token.IsIdentifier, to avoid ambiguity. Fixes #30064. Change-Id: I0e0e49215fd7e47b603ebc2b5a44086c51ba57f7 Reviewed-on: https://go-review.googlesource.com/c/go/+/169018 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com>
-
- 14 Apr, 2019 2 commits
-
-
Максадбек Ахмедов authored
When string letters are all in lower/upper cases, both functions respectively return original string. Fixes #30987 Change-Id: Ie8d664f7af5e087f82c1bc156933e9a995645bf4 Reviewed-on: https://go-review.googlesource.com/c/go/+/171735Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Yuval Pavel Zholkover authored
Since CL 165799 was merged, VFP detection should work properly on FreeBSD. Updates #27619 Change-Id: I386e856ceb54f0bf6e6bf83bf2d1e19154ba53f4 Reviewed-on: https://go-review.googlesource.com/c/go/+/171728 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
-
- 13 Apr, 2019 5 commits
-
-
Tobias Klauser authored
Merge case statement for OpARMSLL, OpARMSRL and OpARMSRA into an existing one using the same logic. Change-Id: Ic4224668228902e5188fb0559b5f1949cfea1381 Reviewed-on: https://go-review.googlesource.com/c/go/+/171724 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Udalov Max authored
This makes code more idiomatic and shows small performance gains of generic benchmarks. Updates: #31456 name old time/op new time/op delta Hash8Bytes-8 275ns ± 4% 270ns ± 0% ~ (p=0.213 n=9+8) Hash320Bytes-8 1.46µs ± 5% 1.39µs ± 1% -4.54% (p=0.000 n=10+10) Hash1K-8 3.99µs ± 5% 3.86µs ± 1% -3.38% (p=0.023 n=10+10) Hash8K-8 28.9µs ± 0% 28.9µs ± 1% ~ (p=0.315 n=10+10) name old speed new speed delta Hash8Bytes-8 28.8MB/s ± 9% 29.6MB/s ± 0% ~ (p=0.151 n=10+8) Hash320Bytes-8 220MB/s ± 5% 230MB/s ± 1% +4.65% (p=0.000 n=10+10) Hash1K-8 257MB/s ± 5% 265MB/s ± 1% +3.38% (p=0.023 n=10+10) Hash8K-8 283MB/s ± 0% 284MB/s ± 1% ~ (p=0.315 n=10+10) Change-Id: Iee63aa042614e3bbeda9aaf5236180d4153f03c4 Reviewed-on: https://go-review.googlesource.com/c/go/+/171729Reviewed-by: Ilya Tokar <tocarip@gmail.com> Run-TryBot: Ilya Tokar <tocarip@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Daniel Martí authored
readValue is a hot function, clocking in at ~13% flat CPU use in CodeDecoder. In particular, looping over the bytes is slow. That's partially because the code contains a bounds check at the start of the loop. The source of the problem is that scanp is a signed integer, and comes from a field, so the compiler doesn't know that it's non-negative. Help it with a simple and comparatively cheap hint. While at it, use scanp as the index variable directly, removing the need for a duplicate index variable which is later added back into scanp. name old time/op new time/op delta CodeDecoder-8 11.3ms ± 1% 11.2ms ± 1% -0.98% (p=0.000 n=9+9) name old speed new speed delta CodeDecoder-8 172MB/s ± 1% 174MB/s ± 1% +0.99% (p=0.000 n=9+9) Updates #28923. Change-Id: I138f83babdf316fc97697cc18f595c3403c1ddb7 Reviewed-on: https://go-review.googlesource.com/c/go/+/170939 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
OkamotoYuki authored
Make 'go test' command to pass the default timeout (10m) to test programs if the value is not given from command line. Fixes #28147 Change-Id: I7856e452224a51a92da03bab8e3a0f9d7c41d32a GitHub-Last-Rev: 66f9a6f90e9ffe7c58d5c1fe32af84e16ea74ab8 GitHub-Pull-Request: golang/go#30545 Reviewed-on: https://go-review.googlesource.com/c/go/+/164963 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Romain Baugue authored
Fixes #7501 Change-Id: Iac7c79cd4b30a90b14ed84bf1eba758972232a6c Reviewed-on: https://go-review.googlesource.com/c/go/+/171337 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 12 Apr, 2019 1 commit
-
-
Josh Bleecher Snyder authored
Rename it to PCIter and convert it to use methods. Set pcscale once, during construction, to make call sites clearer. Change some ints to bools. Use a simple iteration termination condition, instead of the cap comparison from the c2go translation. Instead of requiring a Pcdata, which requires one caller to synthesize a fake Pcdata, just ask for a byte slice. Passes toolstash-check. Change-Id: I811da0e929cf4a806bd6d70357ccf2911cd0c737 Reviewed-on: https://go-review.googlesource.com/c/go/+/171770 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-