- 03 Apr, 2018 18 commits
-
-
Robert Griesemer authored
Fixes #23664. Change-Id: Ic0637e9f896b2fc6502dfbab2d1c4de3c62c0bd2 Reviewed-on: https://go-review.googlesource.com/104616Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
Change-Id: Ie84d0e61697922c1e808d815fb7d9aec694ee8e9 Reviewed-on: https://go-review.googlesource.com/104615Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Giovanni Bajo authored
The logic in addBranchRestrictions didn't allow to correctly model OpIs(Slice)Bound for signed domain, and it was also partly implemented within addRestrictions. Thanks to the previous changes, it is now possible to handle the negative conditions correctly, so that we can learn both signed/LT + unsigned/LT on the positive side, and signed/GE + unsigned/GE on the negative side (but only if the index can be proved to be non-negative). This is able to prove ~50 more slice accesses in std+cmd. Change-Id: I9858080dc03b16f85993a55983dbc4b00f8491b0 Reviewed-on: https://go-review.googlesource.com/104037 Run-TryBot: Giovanni Bajo <rasky@develer.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Giovanni Bajo authored
addRestrictions was taking a branch parameter, binding its logic to that of addBranchRestrictions. Since we will need to use it for updating the facts table for induction variables, refactor it to remove the branch parameter. Passes toolstash -cmp. Change-Id: Iaaec350a8becd1919d03d8574ffd1bbbd906d068 Reviewed-on: https://go-review.googlesource.com/104036 Run-TryBot: Giovanni Bajo <rasky@develer.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
isharipo authored
That "else" was needed due to gc DCE limitations. Now it's not the case and we can avoid go lint complaints. (See #23521 and https://golang.org/cl/91056.) There is inlining test for bigEndianWord, so if test is passing, no performance regression should occur. Change-Id: Id84d63f361e5e51a52293904ff042966c83c16e9 Reviewed-on: https://go-review.googlesource.com/104555Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Alberto Donizetti authored
Compiler instrumentation shows that the cap of the stores slice in the storeOrder function is almost always 64 or less. Since the slice does not escape, pre-allocating on the stack a 64-elements one greatly reduces the number of allocations performed by the function. name old time/op new time/op delta Template 289ms ± 5% 283ms ± 3% -1.99% (p=0.000 n=19+20) Unicode 140ms ± 6% 136ms ± 6% -2.61% (p=0.021 n=19+20) GoTypes 915ms ± 2% 895ms ± 2% -2.24% (p=0.000 n=19+20) Compiler 4.15s ± 1% 4.04s ± 2% -2.73% (p=0.000 n=20+20) SSA 10.0s ± 1% 9.8s ± 2% -2.13% (p=0.000 n=20+20) Flate 189ms ± 6% 186ms ± 4% -1.75% (p=0.028 n=19+20) GoParser 229ms ± 5% 224ms ± 4% -2.25% (p=0.001 n=20+19) Reflect 584ms ± 2% 573ms ± 3% -1.83% (p=0.000 n=18+20) Tar 265ms ± 3% 261ms ± 3% -1.33% (p=0.021 n=20+20) XML 328ms ± 2% 321ms ± 2% -2.11% (p=0.000 n=20+20) name old user-time/op new user-time/op delta Template 408ms ± 4% 400ms ± 4% -1.98% (p=0.006 n=19+20) Unicode 216ms ± 9% 216ms ± 7% ~ (p=0.883 n=20+20) GoTypes 1.25s ± 1% 1.23s ± 3% -1.32% (p=0.002 n=19+20) Compiler 5.77s ± 1% 5.69s ± 2% -1.47% (p=0.000 n=18+19) SSA 14.6s ± 5% 14.1s ± 4% -3.45% (p=0.000 n=20+20) Flate 252ms ± 7% 251ms ± 7% ~ (p=0.659 n=20+20) GoParser 314ms ± 5% 310ms ± 5% ~ (p=0.165 n=20+20) Reflect 780ms ± 2% 769ms ± 3% -1.34% (p=0.004 n=19+18) Tar 365ms ± 7% 367ms ± 5% ~ (p=0.841 n=20+20) XML 439ms ± 4% 432ms ± 4% -1.45% (p=0.043 n=20+20) name old alloc/op new alloc/op delta Template 38.9MB ± 0% 38.8MB ± 0% -0.26% (p=0.000 n=19+20) Unicode 29.0MB ± 0% 29.0MB ± 0% -0.02% (p=0.001 n=20+19) GoTypes 115MB ± 0% 115MB ± 0% -0.31% (p=0.000 n=20+20) Compiler 492MB ± 0% 490MB ± 0% -0.41% (p=0.000 n=20+19) SSA 1.40GB ± 0% 1.39GB ± 0% -0.48% (p=0.000 n=20+20) Flate 24.9MB ± 0% 24.9MB ± 0% -0.24% (p=0.000 n=20+20) GoParser 30.9MB ± 0% 30.8MB ± 0% -0.39% (p=0.000 n=20+20) Reflect 77.1MB ± 0% 76.8MB ± 0% -0.32% (p=0.000 n=17+20) Tar 39.1MB ± 0% 39.0MB ± 0% -0.23% (p=0.000 n=20+20) XML 44.7MB ± 0% 44.6MB ± 0% -0.30% (p=0.000 n=20+18) name old allocs/op new allocs/op delta Template 385k ± 0% 382k ± 0% -0.99% (p=0.000 n=20+19) Unicode 336k ± 0% 336k ± 0% -0.08% (p=0.000 n=19+17) GoTypes 1.20M ± 0% 1.18M ± 0% -1.11% (p=0.000 n=20+18) Compiler 4.66M ± 0% 4.59M ± 0% -1.42% (p=0.000 n=19+20) SSA 11.6M ± 0% 11.5M ± 0% -1.49% (p=0.000 n=20+20) Flate 237k ± 0% 235k ± 0% -1.00% (p=0.000 n=20+19) GoParser 319k ± 0% 315k ± 0% -1.12% (p=0.000 n=20+20) Reflect 960k ± 0% 952k ± 0% -0.92% (p=0.000 n=18+20) Tar 394k ± 0% 390k ± 0% -0.87% (p=0.000 n=20+20) XML 418k ± 0% 413k ± 0% -1.18% (p=0.000 n=20+20) Change-Id: I01b9f45b161379967d7a52e23f39ac30dd90edb0 Reviewed-on: https://go-review.googlesource.com/104415Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Filippo Valsorda authored
If in.Mutex is never locked by Handshake when c.handshakeComplete is true, and since c.handshakeComplete is unset and then set back by handleRenegotiation all under both in.Mutex and handshakeMutex, we can significantly simplify the locking strategy by removing the sync.Cond. See also https://groups.google.com/forum/#!topic/golang-dev/Xxiai-R_jH0 and a more complete analysis at https://go-review.googlesource.com/c/go/+/33776#message-223a3ccc819f7015cc773d214c65bad70de5dfd7 Change-Id: I6052695ece9aff9e3112c2fb176596fde8aa9cb2 Reviewed-on: https://go-review.googlesource.com/33776Reviewed-by: Adam Langley <agl@golang.org>
-
Michael Munday authored
Floating point test instructions allow special cases (NaN, ±∞ and a few other useful properties) to be checked directly. This CL adds the following instructions to the assembler: * LTEBR - load and test (float32) * LTDBR - load and test (float64) * TCEB - test data class (float32) * TCDB - test data class (float64) Note that I have only added immediate versions of the 'test data class' instructions for now as that's the only case I think the compiler will use. Change-Id: I3398aab2b3a758bf909bd158042234030c8af582 Reviewed-on: https://go-review.googlesource.com/104457Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Javier Kohen authored
Performance optimization for the internals of the Regexp type. This adds no features and has no user-visible impact beyond performance. Copy now shares the cache, so memory usage for programs that use Copy a lot should go down; Copy has effectively become a no-op. The before v. after benchmark results show a lot of noise from run to run, but there's a clear improvement to the Shared case and no detriment to the Copied case. BenchmarkMatchParallelShared-4 361 77.9 -78.42% BenchmarkMatchParallelCopied-4 70.3 72.2 +2.70% Macro benchmarks show that the lock contention in Regexp is gone, and my server is now able to scale linearly 2.5x times more than before (and I only stopped there because I ran out of CPU in my test machine). Fixes #24411 Change-Id: Ib33abff2802f27599f5d09084775e95b54e3e1d7 Reviewed-on: https://go-review.googlesource.com/101715Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Pascal S. de Kloe authored
Provide the fixed size from the key pair. Change-Id: I365c8d0f7d915229ef089e46458d4c83273fc648 Reviewed-on: https://go-review.googlesource.com/103876Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Tobias Klauser authored
Decode AT_PAGESZ to determine physPageSize and AT_SUN_EXECNAME for os.Executable. Change-Id: I6ff774ad9d76c68fc61eb307df58217c17fd578d Reviewed-on: https://go-review.googlesource.com/104375 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Fangming.Fang authored
This change adds VLD1, VST1, VPMULL{2}, VEXT, VRBIT, VUSHR and VSHL instructions for supporting AES-GCM implementation later. Fixes #24400 Change-Id: I556feb88067f195cbe25629ec2b7a817acc58709 Reviewed-on: https://go-review.googlesource.com/101095Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
isharipo authored
This change makes compiler frontend dead code elimination of const expr if statements introduced in https://golang.org/cl/38773 treat both if constCondTrue { ...; returnStmt } toBeRemoved... if constCondFalse { ...; } else { returnStmt } toBeRemoved... identically to: if constCondTrue { ...; returnStmt } else { toBeRemoved... } Where "constCondTrue" is a an expression that can be evaluated to "true" during compile time. The additional checks are only triggered for const expr if conditions that evaluate to true. name old time/op new time/op delta Template 431ms ± 2% 429ms ± 1% ~ (p=0.491 n=8+6) Unicode 198ms ± 4% 201ms ± 2% ~ (p=0.234 n=7+6) GoTypes 1.40s ± 1% 1.41s ± 2% ~ (p=0.053 n=7+7) Compiler 6.72s ± 2% 6.81s ± 1% +1.35% (p=0.011 n=7+7) SSA 17.3s ± 1% 17.3s ± 2% ~ (p=0.731 n=6+7) Flate 275ms ± 2% 275ms ± 2% ~ (p=0.902 n=7+7) GoParser 340ms ± 2% 339ms ± 2% ~ (p=0.902 n=7+7) Reflect 910ms ± 2% 905ms ± 1% ~ (p=0.310 n=6+6) Tar 403ms ± 1% 403ms ± 2% ~ (p=0.366 n=7+6) XML 486ms ± 1% 490ms ± 1% ~ (p=0.065 n=6+6) StdCmd 56.2s ± 1% 56.6s ± 2% ~ (p=0.620 n=7+7) name old user-time/op new user-time/op delta Template 559ms ± 8% 557ms ± 7% ~ (p=0.713 n=8+7) Unicode 266ms ±13% 277ms ± 9% ~ (p=0.157 n=8+7) GoTypes 1.83s ± 2% 1.84s ± 1% ~ (p=0.522 n=8+7) Compiler 8.67s ± 4% 8.89s ± 4% ~ (p=0.077 n=7+7) SSA 23.9s ± 1% 24.2s ± 1% +1.31% (p=0.005 n=7+7) Flate 351ms ± 4% 342ms ± 5% ~ (p=0.105 n=7+7) GoParser 437ms ± 2% 423ms ± 5% -3.14% (p=0.016 n=7+7) Reflect 1.16s ± 3% 1.15s ± 2% ~ (p=0.362 n=7+7) Tar 517ms ± 4% 511ms ± 3% ~ (p=0.538 n=7+7) XML 619ms ± 3% 617ms ± 4% ~ (p=0.483 n=7+7) Fixes #23521 Change-Id: I165a7827d869aeb93ce6047d026ff873d039a4f3 Reviewed-on: https://go-review.googlesource.com/91056 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Daniel Martí authored
When making a shallow copy of a node, various methods were used, including calling nod(OXXX, nil, nil) and then overwriting it, or "n1 := *n" and then using &n1. Add a copy method instead, simplifying all of those and making them consistent. Passes toolstash -cmp on std cmd. Change-Id: I3f3fc88bad708edc712bf6d87214cda4ddc43b01 Reviewed-on: https://go-review.googlesource.com/72710 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Giovanni Bajo authored
prove used a complex logic when trying to prove branch conditions: tryPushBranch() was sometimes leaving a checkpoint on the factsTable, sometimes not, and the caller was supposed to check the return value to know what to do. Since we're going to make the prove descend logic a little bit more complex by adding also induction variables, simplify the tryPushBranch logic, by removing any factsTable checkpoint handling from it. Passes toolstash -cmp. Change-Id: Idfb1703df8a455f612f93158328b36c461560781 Reviewed-on: https://go-review.googlesource.com/104035 Run-TryBot: Giovanni Bajo <rasky@develer.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Matthew Dempsky authored
Previously, n.Pos was reassigned to lineno when declare was called, which might not match where the identifier actually appeared in the source. This caused a loss of position precision for function parameters (which were all declared at the last parameter's position), and required some clumsy workarounds in bimport.go. This CL changes declare to leave n.Pos alone and also fixes a few places where n.Pos was not being set correctly. Change-Id: Ibe5b5fd30609c684367207df701f9a1bfa82867f Reviewed-on: https://go-review.googlesource.com/104275Reviewed-by: Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
Don't report errors if we don't have a correct type switch guard; instead ignore it and leave it to the type-checker to report the error. This leads to better error messages concentrating on the type switch guard rather than errors around (confusing) syntactic details. Also clean up some code setting up AssertExpr (they never have a nil Type field) and remove some incorrect TODOs. Fixes #24470. Change-Id: I69512f36e0417e3b5ea9c8856768e04b19d654a8 Reviewed-on: https://go-review.googlesource.com/103615 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Brad Fitzpatrick authored
Fixes #24647 Change-Id: I79c2b45cf7fc9c0ed0c7a665472556bd248e7584 Reviewed-on: https://go-review.googlesource.com/104235 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
- 02 Apr, 2018 14 commits
-
-
quasilyte authored
s/Thearch/thearch/ This reduces the amount of exported global variables, which in turn could make it easier to refactor them later. Also updated somewhat vague comment about ld.Thearch. There is no need for Thearch to be exported as Archinit is called by ld.Main. Updates #22095 Change-Id: I266b291f6eac0165f70c51964738206e066cea08 Reviewed-on: https://go-review.googlesource.com/103878 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
No need to disambiguate if we're exporting or reexporting, because it's obvious from the output. Change-Id: I59053d34dc6f8b29e20749c7b03c3cb4f4d641ff Reviewed-on: https://go-review.googlesource.com/104236Reviewed-by: Robert Griesemer <gri@golang.org>
-
Matthew Dempsky authored
We used to have three Sym flags for dealing with export/reexport: Export, Package, and Exported. Export and Package were used to distinguish whether a symbol is exported or package-scope (i.e., mutually exclusive), except that for local declarations Export served double-duty as tracking whether the symbol had been added to exportlist. Meanwhile, imported declarations that needed reexporting could be added to exportlist multiple times, necessitating a flag to track whether they'd already been written out by exporter. Simplify all of these into a single OnExportList flag so that we can ensure symbols on exportlist are present exactly once. Merge reexportsym into exportsym so there's a single place where we append to exportlist. Code that used to set Exported to prevent a symbol from being exported can now just set OnExportList before calling declare to prevent it from even appearing on exportlist. Lastly, drop the IsAlias check in exportsym: we call exportsym too early for local symbols to detect if they're an alias, and we never reexport aliases. Passes toolstash-check. Change-Id: Icdea3719105dc169fcd7651606589cd08b0a80ff Reviewed-on: https://go-review.googlesource.com/103865 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Passes toolstash-check. Change-Id: Ia769e719e89e508201711775ea3e2cb3979387fa Reviewed-on: https://go-review.googlesource.com/102215 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
-
Matthew Dempsky authored
Currently, we reexport any package-scope constant, function, type, or variable declarations needed by an inlineable function body. However, now that we have an early pass to walk inlineable function bodies (golang.org/cl/74110), we can simplify the logic for finding these declarations. The binary export format supports writing out type declarations in-place at their first use. Also, it always writes out constants by value, so their declarations never need to be reexported. Notably, we attempted this before (golang.org/cl/36170) and had to revert it (golang.org/cl/45911). However, this was because while writing out inline bodies, we could discover variable/function dependencies. By collecting variable/function dependencies during inlineable function discovery, we avoid this problem. While here, get rid of isInlineable. We already typecheck inlineable function bodies during inlFlood, so it's become a no-op. Just move the comment explaining parameter numbering to its caller. Change-Id: Ibbfaafce793733675d3a2ad98791758583055666 Reviewed-on: https://go-review.googlesource.com/103864Reviewed-by: Robert Griesemer <gri@golang.org>
-
Ilya Tocar authored
Use Count instead of loop to determine a number of replacements. Also increment index instead of advancing slices, to avoid some extra stores. Shows very significant speed-up on html benchmarks: Escape-6 34.2µs ± 2% 20.8µs ± 2% -39.06% (p=0.000 n=10+10) EscapeNone-6 7.04µs ± 1% 1.05µs ± 0% -85.03% (p=0.000 n=10+10) On benchmarks in package strings results are still significant: ByteStringMatch-6 1.59µs ± 2% 1.17µs ± 2% -26.35% (p=0.000 n=10+10) HTMLEscapeNew-6 390ns ± 2% 337ns ± 2% -13.62% (p=0.000 n=10+10) HTMLEscapeOld-6 621ns ± 2% 603ns ± 2% -2.95% (p=0.000 n=10+9) Change-Id: Ibea3235b6e451ba72cd5db57716d17b917e72944 Reviewed-on: https://go-review.googlesource.com/97255 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Rather than checking for each function whether the package supports instrumentation, check once up front. Relatedly, tweak the logic for preventing inlining calls to runtime functions from instrumented packages. Previously, we simply disallowed inlining runtime functions altogether when instrumenting. With this CL, it's only disallowed from packages that are actually being instrumented. That is, now intra-runtime calls can be inlined. Updates #19054. Change-Id: I88c97b48bf70193a8a3ee18d952dcb26b0369d55 Reviewed-on: https://go-review.googlesource.com/102815 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Giovanni Bajo authored
Fixes #24645 Change-Id: I914674451b6667c3ebaf012893503d9de58991ee Reviewed-on: https://go-review.googlesource.com/104155 Run-TryBot: Giovanni Bajo <rasky@develer.com> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Travis Bischel authored
Before, if an underlying writer errored within 10 bytes (plus any gzip header metadata), a gzip.Write would erroneously report up to 10 bytes written that were not actually written of the input slice. This is especially problematic when the input slice is less than 10 bytes. The error came from counting the 10 header byte write. If writing the header is completely successful, the 10 bytes written is overridden by the flate write with the input slice. This removes counting the 10 required header bytes, and also changes the return to use zero until the slice is used. The old Write could return one byte written when it actually was not. This is difficult to verify because the smallest input slice is one byte; a test checking that the input slice was the byte written would be quite involved. Thankfully, gzip's minimum header write is 10 bytes. If we test that two bytes are not falsely written, we indirectly cover the one byte case. Fixes #24625 Change-Id: I1c1f8cd791e0c4cffc22aa8acd95186582c832ba Reviewed-on: https://go-review.googlesource.com/103861Reviewed-by: Joe Tsai <joetsai@google.com> Run-TryBot: Joe Tsai <joetsai@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
isharipo authored
When test/run script was removed, these two tests were changed to be executed by test/run.go. Because errchk does not exit with non-zero status on errors, they were silently failing for a while. This change makes 2 things: 1. Compile tested packages in GOROOT/test to match older runner script behavior (strictly required only in bug345, optional in bug248) 2. Check command output with "(?m)^BUG" regexp. It approximates older `grep -q '^BUG' that was used before. See referenced issue for detailed explanation. Fixes #24629 Change-Id: Ie888dcdb4e25cdbb19d434bbc5cb03eb633e9ee8 Reviewed-on: https://go-review.googlesource.com/104095 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Eliminates an inconsistency between user functions and generated functions. Passes toolstash-check. Change-Id: I946b511ca81d88a0024b5932cb50f3d8b9e808f4 Reviewed-on: https://go-review.googlesource.com/103863 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Meng Zhuo authored
This change improves the performance of the block function used within crypto/md5 on arm64. The following improvement was seen: name old time/op new time/op delta Hash8Bytes 1.62µs ± 0% 0.85µs ± 0% -47.83% (p=0.000 n=8+10) Hash1K 8.82µs ± 0% 7.10µs ± 3% -19.52% (p=0.000 n=10+10) Hash8K 59.5µs ± 2% 50.2µs ± 0% -15.63% (p=0.000 n=9+10) Hash8BytesUnaligned 1.63µs ± 0% 0.85µs ± 0% -47.92% (p=0.000 n=9+10) Hash1KUnaligned 14.1µs ± 0% 7.4µs ± 0% -47.45% (p=0.000 n=9+10) Hash8KUnaligned 101µs ± 0% 53µs ± 0% -47.57% (p=0.000 n=10+10) name old speed new speed delta Hash8Bytes 4.93MB/s ± 0% 9.44MB/s ± 0% +91.61% (p=0.000 n=9+10) Hash1K 116MB/s ± 0% 144MB/s ± 3% +24.28% (p=0.000 n=10+10) Hash8K 138MB/s ± 2% 163MB/s ± 0% +18.52% (p=0.000 n=9+10) Hash8BytesUnaligned 4.92MB/s ± 0% 9.44MB/s ± 0% +92.04% (p=0.000 n=9+10) Hash1KUnaligned 72.8MB/s ± 0% 138.6MB/s ± 0% +90.29% (p=0.000 n=9+8) Hash8KUnaligned 80.9MB/s ± 0% 154.2MB/s ± 0% +90.71% (p=0.000 n=10+10) Change-Id: I9e121a3132ff1b59e30f2de64e46106269065ecd Reviewed-on: https://go-review.googlesource.com/101875Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Daniel Martí authored
Change-Id: I9d2a4b8df324897e264d30801e95ddc0f0e75f3a Reviewed-on: https://go-review.googlesource.com/102337 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ilya Tocar <ilya.tocar@intel.com>
-
Matthew Dempsky authored
Extract all rewrite-to-OLITERAL expressions to use a single setconst helper function. Does not pass toolstash-check for two reasons: 1) We now consistently clear Left/Right/etc when rewriting Nodes into OLITERALs, which results in their inlining complexity being correctly computed. So more functions can now be inlined. 2) We preserve Pos, so PC line tables change somewhat. Change-Id: I2b5c293bee7c69c2ccd704677f5aba4ec40e3155 Reviewed-on: https://go-review.googlesource.com/103860 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
-
- 01 Apr, 2018 5 commits
-
-
jimmyfrasche authored
When the flag package first begin printing nonzero defaults, the test was against a fixed set of string representations of zero values. This worked until the string representation of a time.Duration changed from "0" to "0s", causing the zero Duration to register as nonzero. The flag package then added reflect-based code that fell back to the old test. This failed to work when a nonzero default for a flag happened to be the string representation of one the original fixed set of zero values in the original test. This change removes the original test, allowing the reflect-based code to be the only deciding factor. Fixes #23543 Change-Id: I582ce554d6729e336fdd96fb27340674c15350d8 Reviewed-on: https://go-review.googlesource.com/103867Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
This reverts commit CL 103975 (a9b799a2). Reason for revert: adds data race, breaks race builders, and Brad forgot to run the Trybots. Change-Id: Id227dad7069560dbb3ea978a1dcd77ce1979034e Reviewed-on: https://go-review.googlesource.com/104015Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
adrienpetel authored
Fixes #24580 Change-Id: I35e2ff145f251485fd3cfd7b03b6f3fae8d97ad6 Reviewed-on: https://go-review.googlesource.com/103975Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Zhou Peng authored
Change-Id: I56a4d25bdf886d0c0cc9723c197a014dfc9da3d3 Reviewed-on: https://go-review.googlesource.com/103995Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Passes toolstash-check. Change-Id: I6a2d46e69d4d3a06858c80c4ea1ad3f5a58f6956 Reviewed-on: https://go-review.googlesource.com/103859 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 31 Mar, 2018 3 commits
-
-
Mikio Hara authored
An application using syscall.RawConn in a particular way must take account of the operating system or platform-dependent behavior. This change consolidates duplicate code and improves the test coverage for applications that use socket options. Change-Id: Ie42340ac5373875cf1fd9123df0e99a1e7ac280f Reviewed-on: https://go-review.googlesource.com/95335Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Gregory Man authored
Strip password from URL then stringifying it to error. Fixes #24572 Change-Id: I1751ea9ccf87e7dff50c4c2a2010bf3f865702f8 Reviewed-on: https://go-review.googlesource.com/102855Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bryan Chan authored
CL 38338 introduced SSA rules to optimize two types of pointer equality tests: a pointer compared with itself, and comparison of addresses taken of two symbols which may have the same base. This patch adds rules to apply the same optimization to pointer inequality tests, which also ensures that two pointers to zero-width types cannot be both equal and unequal at the same time. Fixes #24503. Change-Id: Ic828aeb86ae2e680caf66c35f4c247674768a9ba Reviewed-on: https://go-review.googlesource.com/102275Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-