1. 03 Jul, 2014 1 commit
  2. 02 Jul, 2014 9 commits
    • Cristian Staretu's avatar
      archive/tar: reuse temporary buffer in readHeader · 61ccc1f0
      Cristian Staretu authored
      A temporary 512 bytes buffer is allocated for every call to
      readHeader. This buffer isn't returned to the caller and it could
      be reused to lower the number of memory allocations.
      
      This CL improves it by using a pool and zeroing out the buffer before
      putting it back into the pool.
      
      benchmark                  old ns/op     new ns/op     delta
      BenchmarkListFiles100k     545249903     538832687     -1.18%
      
      benchmark                  old allocs    new allocs    delta
      BenchmarkListFiles100k     2105167       2005692       -4.73%
      
      benchmark                  old bytes     new bytes     delta
      BenchmarkListFiles100k     105903472     54831527      -48.22%
      
      This improvement is very important if your code has to deal with a lot
      of tarballs which contain a lot of files.
      
      LGTM=dsymonds
      R=golang-codereviews, dave, dsymonds, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/108240044
      61ccc1f0
    • Cristian Staretu's avatar
      archive/tar: reuse temporary buffer in writeHeader · fe5a358a
      Cristian Staretu authored
      A temporary 512 bytes buffer is allocated for every call to
      writeHeader. This buffer could be reused the lower the number
      of memory allocations.
      
      benchmark                   old ns/op     new ns/op     delta
      BenchmarkWriteFiles100k     634622051     583810847     -8.01%
      
      benchmark                   old allocs     new allocs     delta
      BenchmarkWriteFiles100k     2701920        2602621        -3.68%
      
      benchmark                   old bytes     new bytes     delta
      BenchmarkWriteFiles100k     115383884     64349922      -44.23%
      
      This change is very important if your code has to write a lot of
      tarballs with a lot of files.
      
      LGTM=dsymonds
      R=golang-codereviews, dave, dsymonds
      CC=golang-codereviews
      https://golang.org/cl/107440043
      fe5a358a
    • Adam Langley's avatar
      crypto/rsa: fix out-of-bound access with short session keys. · 372f399e
      Adam Langley authored
      Thanks to Cedric Staub for noting that a short session key would lead
      to an out-of-bounds access when conditionally copying the too short
      buffer over the random session key.
      
      LGTM=davidben, bradfitz
      R=davidben, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/102670044
      372f399e
    • Russ Cox's avatar
      build: annotations and modifications for c2go · ebce7944
      Russ Cox authored
      The main changes fall into a few patterns:
      
      1. Replace #define with enum.
      
      2. Add /*c2go */ comment giving effect of #define.
      This is necessary for function-like #defines and
      non-enum-able #defined constants.
      (Not all compilers handle negative or large enums.)
      
      3. Add extra braces in struct initializer.
      (c2go does not implement the full rules.)
      
      This is enough to let c2go typecheck the source tree.
      There may be more changes once it is doing
      other semantic analyses.
      
      LGTM=minux, iant
      R=minux, dave, iant
      CC=golang-codereviews
      https://golang.org/cl/106860045
      ebce7944
    • Preetam Jinka's avatar
      crypto/cipher: fix typo in example comment · 4fedb59a
      Preetam Jinka authored
      LGTM=josharian
      R=golang-codereviews, josharian
      CC=golang-codereviews
      https://golang.org/cl/110330043
      4fedb59a
    • Timo Truyts's avatar
      bufio: Fixed call to Fatal, should be Fatalf. · 22c3f67c
      Timo Truyts authored
      LGTM=iant
      R=golang-codereviews, iant, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/107390044
      22c3f67c
    • Brad Fitzpatrick's avatar
      A+C: Timo Truyts (individual CLA) · ab341e58
      Brad Fitzpatrick authored
      Generated by a+c.
      
      R=gobot
      CC=golang-codereviews
      https://golang.org/cl/111820043
      ab341e58
    • Brad Fitzpatrick's avatar
      A+C: Cristian Staretu (individual CLA) · ffb0c53a
      Brad Fitzpatrick authored
      Generated by a+c.
      
      R=gobot
      CC=golang-codereviews
      https://golang.org/cl/107450043
      ffb0c53a
    • Aram Hăvărneanu's avatar
      liblink, runtime: preliminary support for plan9/amd64 · decd8109
      Aram Hăvărneanu authored
      A TLS slot is reserved by _rt0_.*_plan9 as an automatic and
      its address (which is static on Plan 9) is saved in the
      global _privates symbol. The startup linkage now is exactly
      like that from Plan 9 libc, and the way we access g is
      exactly as if we'd have used privalloc(2).
      
      Aside from making the code more standard, this change
      drastically simplifies it, both for 386 and for amd64, and
      makes the Plan 9 code in liblink common for both 386 and
      amd64.
      
      The amd64 runtime code was cleared of nxm assumptions, and
      now runs on the standard Plan 9 kernel.
      
      Note handling fixes will follow in a separate CL.
      
      LGTM=rsc
      R=golang-codereviews, rsc, bradfitz, dave
      CC=0intro, ality, golang-codereviews, jas, minux.ma, mischief
      https://golang.org/cl/101510049
      decd8109
  3. 01 Jul, 2014 14 commits
  4. 30 Jun, 2014 5 commits
    • David Crawshaw's avatar
      runtime: update arm comments now register m is gone · 54951023
      David Crawshaw authored
      LGTM=minux
      R=golang-codereviews, minux
      CC=golang-codereviews
      https://golang.org/cl/109220046
      54951023
    • Rob Pike's avatar
      encoding/gob: simplify allocation in decode. · ce5bbfdd
      Rob Pike authored
      The old code's structure needed to track indirections because of the
      use of unsafe. That is no longer necessary, so we can remove all
      that tracking. The code cleans up considerably but is a little slower.
      We may be able to recover that performance drop. I believe the
      code quality improvement is worthwhile regardless.
      
      BenchmarkEndToEndPipe           5610          5780          +3.03%
      BenchmarkEndToEndByteBuffer     3156          3222          +2.09%
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/103700043
      ce5bbfdd
    • Robert Griesemer's avatar
      gofmt: remove redundant check in rewriter · 6a228239
      Robert Griesemer authored
      If the actual types of two reflect values are
      the same and the values are structs, they must
      have the same number of fields.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/108280043
      6a228239
    • Rob Pike's avatar
      doc/go1.4.txt: encoding/gob is now safe · 1abab32c
      Rob Pike authored
      CC=golang-codereviews
      https://golang.org/cl/103690043
      1abab32c
    • Rob Pike's avatar
      encoding/gob: remove unsafe, use reflection. · 3050a0a7
      Rob Pike authored
      This removes a major unsafe thorn in our side, a perennial obstacle
      to clean garbage collection.
      Not coincidentally: In cleaning this up, several bugs were found,
      including code that reached inside by-value interfaces to create
      pointers for pointer-receiver methods. Unsafe code is just as
      advertised.
      
      Performance of course suffers, but not too badly. The Pipe number
      is more indicative, since it's doing I/O that simulates a network
      connection. Plus these are end-to-end, so each end suffers
      only half of this pain.
      
      The edit is pretty much a line-by-line conversion, with a few
      simplifications and a couple of new tests. There may be more
      performance to gain.
      
      BenchmarkEndToEndByteBuffer     2493          3033          +21.66%
      BenchmarkEndToEndPipe           4953          5597          +13.00%
      
      Fixes #5159.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews, khr
      https://golang.org/cl/102680045
      3050a0a7
  5. 29 Jun, 2014 2 commits
  6. 28 Jun, 2014 6 commits
  7. 27 Jun, 2014 3 commits