- 24 Feb, 2017 13 commits
-
-
Russ Cox authored
The existing code builds a full profile in memory. Then it translates that profile into a data structure (in memory). Then it marshals that data structure into a protocol buffer (in memory). Then it gzips that marshaled form into the underlying writer. So there are three copies of the full profile data in memory at the same time before we're done. This is obviously dumb. This CL implements a fully streaming conversion from the original in-memory profile to the underlying writer. There is now only one copy of the profile in memory. For the non-CPU profiles, this is optimal, since we have to have a full copy in memory to start with. For the CPU profiles, we could still try to bound the profile size stored in memory and stream fragments out during the actual profiling, as Go 1.7 did (with a simpler format), but so far that hasn't been necessary. Change-Id: Ic36141021857791bf0cd1fce84178fb5e744b989 Reviewed-on: https://go-review.googlesource.com/37164 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org>
-
Robert Griesemer authored
This change adds math/bits as a new dependency of math/big. - use bits.LeadingZeroes instead of local implementation (they are identical, so there's no performance loss here) - leave other functionality local (ntz, bitLen) since there's faster implementations in math/big at the moment Change-Id: I1218aa8a1df0cc9783583b090a4bb5a8a145c4a2 Reviewed-on: https://go-review.googlesource.com/37141Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Raul Silvera authored
Import the github.com/google/pprof and github.com/ianlancetaylor/demangle packages, without modification. Build the golang version of pprof from cmd/pprof/pprof.go by importing the packages from src/cmd/vendot/github.com/google/pprof The versions upstreamed are: github.com/ianlancetaylor/demangle 4883227f66371e02c4948937d3e2be1664d9be38 github.com/google/pprof 7eb5ba977f28f2ad8dd5f6bb82cc9b454e123cdc Update misc/nacl/testzip.proto for new tests. Change-Id: I076584856491353607a3b98b67d0ca6838be50d6 Reviewed-on: https://go-review.googlesource.com/36798 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Chris Broadfoot authored
Wait a short period between trying commands. Many commands will return a non-zero exit code if the browser couldn't be launched. For example, google-chrome returns quickly with a non-zero exit code in a headless environment. Updates #19131. Change-Id: I0ae5356dd4447969d9e216615449cead7a8fd5c9 Reviewed-on: https://go-review.googlesource.com/37391Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Josh Bleecher Snyder authored
CL 35562 substituted zerobase for the pointer for interfaces containing zero-sized values. However, it failed to evaluate the zero-sized value expression for side-effects. Fix that. The other similar interface value optimizations are not affected, because they all actually use the value one way or another. Fixes #19246 Change-Id: I1168a99561477c63c29751d5cd04cf81b5ea509d Reviewed-on: https://go-review.googlesource.com/37395 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Robert Griesemer authored
The new syntax tree introduced with 1.8 represents send statements (ch <- x) as statements; the old syntax tree represented them as expressions (and parsed them as such) but complained if they were used in expression context. As a consequence, some of the errors that in the past were of the form "ch <- x used as value" now look like "unexpected <- ..." because a "<-" is not valid according to Go syntax in those situations. Accept the new error message. Also: Fine-tune handling of misformed for loop headers. Also: Minor cleanups/better comments. Fixes #17590. Change-Id: Ia541dea1f2f015c1b21f5b3ae44aacdec60a8aba Reviewed-on: https://go-review.googlesource.com/37386Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Ian Lance Taylor authored
Brings in chacha20poly1305 directory from golang.org/x/crypto revision 453249f01cfeb54c3d549ddb75ff152ca243f9d8, adding: CL 35874: crypto/chacha20poly1305/internal/chacha20: add missing copyright header CL 35875: crypto/chacha20poly1305: rename test vectors file Fixes #19155. Change-Id: I25cf83d060113f6b2a197f243a25614440008f7e Reviewed-on: https://go-review.googlesource.com/37408Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Sean Christopherson authored
Set $GOPATH to a semantically valid, non-empty string that cannot conflict with $GOROOT to avoid false test failures that occur when $GOROOT resides under $GOPATH. Unsetting GOPATH is no longer viable as Go now defines a default $GOPATH that may conflict with $GOROOT. Fixes #19237 Change-Id: I376a2ad3b18e9c4098211b988dde7e76bc4725d2 Reviewed-on: https://go-review.googlesource.com/37396Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
The old hash table was a place holder that allocates memory during every lookup for key generation, even for keys that hit in the the table. Change-Id: I4f601bbfd349f0be76d6259a8989c9c17ccfac21 Reviewed-on: https://go-review.googlesource.com/37163 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org>
-
Russ Cox authored
This doesn't change the functionality of the current code, but it sets us up for exporting the profiling labels into the profile. The old code had a hash table of profile samples maintained during the signal handler, with evictions going into a log. The new code just logs every sample directly, leaving the hash-based deduplication to an ordinary goroutine. The new code also avoids storing the entire profile in two forms in memory, an unfortunate regression introduced when binary profile support was added. After this CL the entire profile is only stored once in memory. We'd still like to get back down to storing it zero times (streaming it to the underlying io.Writer). Change-Id: I0893a1788267c564aa1af17970d47377b2a43457 Reviewed-on: https://go-review.googlesource.com/36712 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org>
-
Russ Cox authored
It's common for some goroutines to loop calling time.Sleep. Allocate once per goroutine, not every time. This comes up in runtime/pprof's background reader. Change-Id: I89d17dc7379dca266d2c9cd3aefc2382f5bdbade Reviewed-on: https://go-review.googlesource.com/37162Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Joe Tsai authored
Some field-lists (especially in generated code) can be excessively long. In the one-line printout, it does not make sense to print all elements of the list if line-wrapping causes the "one-line" to become multi-line. // Before: var LongLine = newLongLine("someArgument1", "someArgument2", "someArgument3", "someArgument4", "someArgument5", "someArgument6", "someArgument7", "someArgument8") // After: var LongLine = newLongLine("someArgument1", "someArgument2", "someArgument3", "someArgument4", ...) Change-Id: I4bbbe2dbd1d7be9f02d63431d213088c3dee332c Reviewed-on: https://go-review.googlesource.com/36031 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Joe Tsai authored
An io.Reader does not guarantee that it will read in the entire buffer. To ensure that property, io.ReadFull should be used instead. Change-Id: I0b863135ab9abc40e813f9dac07bfb2a76199950 Reviewed-on: https://go-review.googlesource.com/37403Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 23 Feb, 2017 8 commits
-
-
David Chase authored
The loop-A-encloses-loop-C code did not properly handle the case where really C was already known to be enclosed by B, and A was nearest-outer to B, not C. Fixes #19217. Change-Id: I755dd768e823cb707abdc5302fed39c11cdb34d4 Reviewed-on: https://go-review.googlesource.com/37340 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Robert Griesemer authored
Fixes #19249. Change-Id: I6327192eca11fa24f1078c016c9669e4ba4bdb4e Reviewed-on: https://go-review.googlesource.com/37399Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David R. Jenni authored
Avoid printing a second error message when a field of an undefined variable is accessed. Fixes #8440. Change-Id: I3fe0b11fa3423cec3871cb01b5951efa8ea7451a Reviewed-on: https://go-review.googlesource.com/36751Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
The existing CPU profiling buffer is a slice of uintptr, but we want to start including profiling label data in the profiles, and those labels need to be pointers in order to let them describe rich information. This CL implements a new profBuf type that holds both a slice of uint64 for data and a slice of unsafe.Pointer for profiling labels (aka tags). Making the runtime use these buffers will happen in followup CLs. Change-Id: I9ff16b532d8edaf4ce0cbba1098229a561834efc Reviewed-on: https://go-review.googlesource.com/36713 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Alberto Donizetti authored
Fixes #19253 Change-Id: Ia473f51bfe4cf42cf64938993a81d9b1dbc2594d Reviewed-on: https://go-review.googlesource.com/37433Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Chris Broadfoot authored
xdg-open's man page says: > xdg-open is for use inside a desktop session only. Use the DISPLAY environment variable to detect this. Updates #19131. Change-Id: I3926b3e1042393939b2ec6aacd9b63ac8192df3b Reviewed-on: https://go-review.googlesource.com/37390Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Josh Bleecher Snyder authored
When running on the host platform, the standard library has almost certainly already been built. However, all other platforms will probably need building. Use the new -dolinkobj=false flag to cmd/compile to only build the export data instead of doing a full compile. Having partial object files could be confusing for people doing subsequent cross-compiles, depending on what happens with #18369. However, cmd/vet/all will mainly be run by builders and core developers, who are probably fairly well-placed to handle any such confusion. This reduces the time on my machine for a cold run of 'go run main.go -all' by almost half: benchmark old ns/op new ns/op delta BenchmarkVetAll 240670814551 130784517074 -45.66% Change-Id: Ieb866ffb2cb714b361b0a6104077652f8eacd166 Reviewed-on: https://go-review.googlesource.com/37385 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
When set to false, the -dolinkobj flag instructs the compiler not to generate or emit linker information. This is handy when you need the compiler's export data, e.g. for use with go/importer, but you want to avoid the cost of full compilation. This must be used with care, since the resulting files are unusable for linking. This CL interacts with #18369, where adding gcflags and ldflags to buildid has been mooted. On the one hand, adding gcflags would make safe use of this flag easier, since if the full object files were needed, a simple 'go install' would fix it. On the other hand, this would mean that 'go install -gcflags=-dolinkobj=false' would rebuild the object files, although any existing object files would probably suffice. Change-Id: I8dc75ab5a40095c785c1a4d2260aeb63c4d10f73 Reviewed-on: https://go-review.googlesource.com/37384 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
- 22 Feb, 2017 15 commits
-
-
Brad Fitzpatrick authored
Fixes #19244 Change-Id: Ia6332941b229c83d6fd082af49f31003a66b90db Reviewed-on: https://go-review.googlesource.com/37388Reviewed-by: Robert Griesemer <gri@golang.org>
-
Michael Munday authored
Replaces pairs of shifts with sign/zero extension where possible. For example: (uint64(x) << 32) >> 32 -> uint64(uint32(x)) Reduces the execution time of the following code by ~4.5% on s390x: for i := 0; i < N; i++ { x += (uint64(i)<<32)>>32 } Change-Id: Idb2d56f27e80a2e1366bc995922ad3fd958c51a7 Reviewed-on: https://go-review.googlesource.com/37292Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Kenny Grant authored
ExampleSliceStable echoes the sort.Slice example, to demonstrate sorting on two fields together preserving order between sorts. Change-Id: I8afc20c0203991bfd57260431eda73913c165355 Reviewed-on: https://go-review.googlesource.com/37196Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Carlos Eduardo Seo authored
Fix the encoding of the SH field for rldimi. The SH field of rldimi is 6-bit wide and it is not contiguous in the instruction. Bits 0-4 are placed in bit fields 16-20 in the instruction, while bit 5 is placed in bit field 30. The current implementation does not consider this and, therefore, any SH field between 32 and 63 are encoded wrongly in the instruciton. Change-Id: I4d25a0a70f4219569be0e18160dea5505bd7fff0 Reviewed-on: https://go-review.googlesource.com/37350 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
-
Yuval Pavel Zholkover authored
Describe the difference from String encoding when len(ip) is zero. Change-Id: Ia9b36b405d4fec3fee9a77498a839b6d90c2ec0d Reviewed-on: https://go-review.googlesource.com/37379Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Martin Möhrmann authored
Removes init function from the math package. Allows stripping of arrays with pre-computed values used for Pow10 from binaries if Pow10 is not used. cmd/go shrinks by 128 bytes. Fixed small values like 10**-323 being 0 instead of 1e-323. Overall precision is increased but still not as good as predefined constants for some inputs. Samples: Pow10(208) before: 1.0000000000000006662e+208 after: 1.0000000000000000959e+208 Pow10(202) before 1.0000000000000009895e+202 after 1.0000000000000001193e+202 Pow10(60) before 1.0000000000000001278e+60 after 0.9999999999999999494e+60 Pow10(-100) before 0.99999999999999938551e-100 after 0.99999999999999989309e-100 Pow10(-200) before 0.9999999999999988218e-200 after 1.0000000000000001271e-200 name old time/op new time/op delta Pow10Pos-4 44.6ns ± 2% 1.2ns ± 1% -97.39% (p=0.000 n=19+17) Pow10Neg-4 50.8ns ± 1% 4.1ns ± 2% -92.02% (p=0.000 n=17+19) Change-Id: If094034286b8ac64be3a95fd9e8ffa3d4ad39b31 Reviewed-on: https://go-review.googlesource.com/36331Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Pratt authored
std and race bench tests fail to check against t.runRxWant, so what should be negative filters act as positive filters. Fixes #19239 Change-Id: Icf02b2192bcd806a162fca9fb0af68a27ccfc936 Reviewed-on: https://go-review.googlesource.com/37336 Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Emmanuel Odeke authored
Fixes #19012. Fallback to return signatures without detailed types. These error message will be of the form of issue: * https://golang.org/issues/4215 * https://golang.org/issues/6750 So: func f(x int, y uint) { return x > y } f(10, "a" < 3) will give errors: too many errors to return too many arguments in call to f instead of: too many errors to return have (<T>) want () too many arguments in call to f have (number, <T>) want (number, number) Change-Id: I680abc7cdd8444400e234caddf3ff49c2d69f53d Reviewed-on: https://go-review.googlesource.com/36806Reviewed-by: Robert Griesemer <gri@golang.org>
-
Alexander Döring authored
Test finite negative x with Y0(-1), Y1(-1), Yn(2,-1), Yn(-3,-1). Also test the special case Yn(0,0). Fixes #19130. Change-Id: I95f05a72e1c455ed8ddf202c56f4266f03f370fd Reviewed-on: https://go-review.googlesource.com/37310Reviewed-by: Robert Griesemer <gri@golang.org>
-
Ian Lance Taylor authored
It could have been defined the other way, but since the behavior has been unspecified, this is the conservative approach for people writing different implementations of the Context interface. Change-Id: I7334a4c674bc2330cca6874f7cac1eb0eaea3cff Reviewed-on: https://go-review.googlesource.com/37375Reviewed-by: Matt Layher <mdlayher@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Sameer Ajmani <sameer@golang.org> Run-TryBot: Sameer Ajmani <sameer@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lynn Boger authored
This updates the testcase to display the timestamps for the runtime.a, it dependent packages atomic.a and sys.a, and source files. Change-Id: Id2901b4e8aa8eb9775c4f404ac01cc07b394ba91 Reviewed-on: https://go-review.googlesource.com/37332 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Munday authored
Keith pointed out that these rules should zero extend during the review of CL 36845. In practice the generic rules are responsible for eliminating most load-hit-stores and they do not have this problem. When the s390x rules are triggered any cast following the elided load-hit-store is kept because of the sequence the rules are applied in (i.e. the load is removed before the zero extension gets a chance to be merged into the load). It is therefore not clear that this issue results in any functional bugs. This CL includes a test, but it only tests the generic rules currently. Change-Id: Idbc43c782097a3fb159be293ec3138c5b36858ad Reviewed-on: https://go-review.googlesource.com/37154 Run-TryBot: Michael Munday <munday@ca.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
David Chase authored
Added a flag to generic and various architectures' atomic operations that are judged to have observable side effects and thus cannot be dead-code-eliminated. Test requires GOMAXPROCS > 1 without preemption in loop. Fixes #19182. Change-Id: Id2230031abd2cca0bbb32fd68fc8a58fb912070f Reviewed-on: https://go-review.googlesource.com/37333 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Ian Lance Taylor authored
The gcdata field only records ptrdata entries, not size entries. Also fix an obsolete comment: the enforced limit on pointer maps is now 2048 bytes, not 16 bytes. I wasn't able to contruct a test case for this. It would require building a type whose size is greater than 64 bytes but less than 128 bytes, with at least one pointer in first 64 bytes but no pointers after the first 64 bytes, such that the linker arranges for the one byte gcbits value to be immediately followed by a non-zero byte. Change-Id: I9118d3e4ec6f07fd18b72f621c1e5f4fdfe5f80b Reviewed-on: https://go-review.googlesource.com/37142 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Ian Lance Taylor authored
The definition of writeBarrier in the runtime was changed in CL 22855 to include padding. Update the definition built in to the compiler to match. This doesn't affect the generated code, as the compiler sets the type to use anyhow, but having them be different seems clearly wrong. Change-Id: I8eac05bf70a424a0b2338ba5e9e41af231316de0 Reviewed-on: https://go-review.googlesource.com/37377 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
- 21 Feb, 2017 4 commits
-
-
Kevin Burke authored
Fixes #19223. Change-Id: I4cc8e81559a1313e1477ee36902e1b653155a888 Reviewed-on: https://go-review.googlesource.com/37374Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Cherry Zhang authored
Args may be not at 8-byte aligned offset to SP. When the stack frame is large, folding the offset of args may cause large unaligned offsets that does not fit in a machine instruction on ARM64. Therefore disable folding offsets for args. This has small performance impact (see below). A better fix would be letting the assembler backend fix up the offset by loading it into a register if it doesn't fit into an instruction. And the compiler can simply generate large load/stores with offset. Since in most of the cases the offset is aligned or the stack frame is small, it can fit in an instruction and no fixup is needed. But this is too complicated for Go 1.8. name old time/op new time/op delta BinaryTree17-8 8.30s ± 0% 8.31s ± 0% ~ (p=0.579 n=10+10) Fannkuch11-8 6.14s ± 0% 6.18s ± 0% +0.53% (p=0.000 n=9+10) FmtFprintfEmpty-8 117ns ± 0% 117ns ± 0% ~ (all equal) FmtFprintfString-8 196ns ± 0% 197ns ± 0% +0.72% (p=0.000 n=10+10) FmtFprintfInt-8 204ns ± 0% 205ns ± 0% +0.49% (p=0.000 n=9+10) FmtFprintfIntInt-8 302ns ± 0% 307ns ± 1% +1.46% (p=0.000 n=10+10) FmtFprintfPrefixedInt-8 329ns ± 2% 326ns ± 0% ~ (p=0.083 n=10+10) FmtFprintfFloat-8 540ns ± 0% 542ns ± 0% +0.46% (p=0.000 n=8+7) FmtManyArgs-8 1.20µs ± 1% 1.19µs ± 1% -1.02% (p=0.000 n=10+10) GobDecode-8 17.3ms ± 1% 17.8ms ± 0% +2.75% (p=0.000 n=10+7) GobEncode-8 15.3ms ± 1% 15.4ms ± 0% +0.57% (p=0.004 n=9+10) Gzip-8 789ms ± 0% 803ms ± 0% +1.78% (p=0.000 n=9+10) Gunzip-8 128ms ± 0% 130ms ± 0% +1.73% (p=0.000 n=10+9) HTTPClientServer-8 202µs ± 6% 201µs ±10% ~ (p=0.739 n=10+10) JSONEncode-8 42.0ms ± 0% 42.1ms ± 0% +0.19% (p=0.028 n=10+9) JSONDecode-8 159ms ± 0% 161ms ± 0% +1.05% (p=0.000 n=9+10) Mandelbrot200-8 10.1ms ± 0% 10.1ms ± 0% -0.07% (p=0.000 n=10+9) GoParse-8 8.46ms ± 1% 8.61ms ± 1% +1.77% (p=0.000 n=10+10) RegexpMatchEasy0_32-8 227ns ± 1% 226ns ± 0% -0.35% (p=0.001 n=10+9) RegexpMatchEasy0_1K-8 1.63µs ± 0% 1.63µs ± 0% -0.13% (p=0.000 n=10+9) RegexpMatchEasy1_32-8 250ns ± 0% 249ns ± 0% -0.40% (p=0.001 n=8+9) RegexpMatchEasy1_1K-8 2.07µs ± 0% 2.08µs ± 0% +0.05% (p=0.027 n=9+9) RegexpMatchMedium_32-8 350ns ± 0% 350ns ± 0% ~ (p=0.412 n=9+8) RegexpMatchMedium_1K-8 104µs ± 0% 104µs ± 0% +0.31% (p=0.000 n=10+7) RegexpMatchHard_32-8 5.82µs ± 0% 5.82µs ± 0% ~ (p=0.937 n=9+9) RegexpMatchHard_1K-8 176µs ± 0% 176µs ± 0% +0.03% (p=0.000 n=9+8) Revcomp-8 1.36s ± 1% 1.37s ± 1% ~ (p=0.218 n=10+10) Template-8 151ms ± 1% 156ms ± 1% +3.21% (p=0.000 n=10+10) TimeParse-8 737ns ± 0% 758ns ± 2% +2.74% (p=0.000 n=10+10) TimeFormat-8 801ns ± 2% 789ns ± 1% -1.51% (p=0.000 n=10+10) [Geo mean] 142µs 143µs +0.50% Fixes #19137. Change-Id: Ib8a21ea98c0ffb2d282a586535b213cc163e1b67 Reviewed-on: https://go-review.googlesource.com/37251 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Robert Griesemer authored
For compatibility with math/bits uint operations. When math/big was written originally, the Go compiler used 32bit int/uint values even on a 64bit machine. uintptr was the type that represented the machine register size. Now, the int/uint types are sized to the native machine register size, so they are the natural machine Word type. On most machines, the size of int/uint correspond to the size of uintptr. On platforms where uint and uintptr have different sizes, this change may lead to performance differences (e.g., amd64p32). Change-Id: Ief249c160b707b6441848f20041e32e9e9d8d8ca Reviewed-on: https://go-review.googlesource.com/37372 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
The type of the OffPtr should be consistent with the type of the following load. Before this CL it was typed as a pointer to the struct. Fixes #19164. Change-Id: Ibcdec4411c6f719702f76f8dba3cce8691bfbe0c Reviewed-on: https://go-review.googlesource.com/37254 Run-TryBot: Michael Munday <munday@ca.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-