1. 13 Jun, 2011 5 commits
  2. 12 Jun, 2011 1 commit
  3. 11 Jun, 2011 5 commits
  4. 10 Jun, 2011 14 commits
  5. 09 Jun, 2011 13 commits
  6. 08 Jun, 2011 2 commits
    • Nigel Tao's avatar
      compress/lzw: reduce decoder buffer size from 3*4096 to 2*4096. · 833529fd
      Nigel Tao authored
      This happens to speed up the decoder benchmarks by 50% on my computer
      (GOARCH=amd64 GOOS=linux), but I don't have a good intuition as to why.
      For example, just adding an unused [4096]byte field to the decoder
      struct doesn't significantly change the numbers.
      
      Before:
      
      lzw.BenchmarkDecoder1e4	    5000	    488057 ns/op	  20.49 MB/s
      lzw.BenchmarkDecoder1e5	     500	   4613638 ns/op	  21.67 MB/s
      lzw.BenchmarkDecoder1e6	      50	  45672260 ns/op	  21.90 MB/s
      lzw.BenchmarkEncoder1e4	    5000	    353563 ns/op	  28.28 MB/s
      lzw.BenchmarkEncoder1e5	     500	   3431618 ns/op	  29.14 MB/s
      lzw.BenchmarkEncoder1e6	      50	  34009640 ns/op	  29.40 MB/s
      
      After:
      
      lzw.BenchmarkDecoder1e4	    5000	    339725 ns/op	  29.44 MB/s
      lzw.BenchmarkDecoder1e5	     500	   3166894 ns/op	  31.58 MB/s
      lzw.BenchmarkDecoder1e6	      50	  31317260 ns/op	  31.93 MB/s
      lzw.BenchmarkEncoder1e4	    5000	    354909 ns/op	  28.18 MB/s
      lzw.BenchmarkEncoder1e5	     500	   3432710 ns/op	  29.13 MB/s
      lzw.BenchmarkEncoder1e6	      50	  34010500 ns/op	  29.40 MB/s
      
      R=rsc, r
      CC=golang-dev
      https://golang.org/cl/4535123
      833529fd
    • Brad Fitzpatrick's avatar
      http: fix handling of 0-lengthed http requests · 9c436ab7
      Brad Fitzpatrick authored
      Via Russ Ross' bug report on golang-nuts, it was not possible
      to send an HTTP request with a zero length body with either a
      Content-Length (it was stripped) or chunking (it wasn't set).
      
      This means Go couldn't upload 0-length objects to Amazon S3.
      (which aren't as silly as they might sound, as S3 objects can
      have key/values associated with them, set in the headers)
      
      Amazon further doesn't supported chunked uploads. (not Go's
      problem, but we should be able to let users set an explicit
      Content-Length, even if it's zero.)
      
      To fix the ambiguity of an explicit zero Content-Length and
      the Request struct's default zero value, users need to
      explicit set TransferEncoding to []string{"identity"} to force
      the Request.Write to include a Content-Length: 0.  identity is
      in RFC 2616 but is ignored pretty much everywhere.  We don't
      even then serialize it on the wire, since it's kinda useless,
      except as an internal sentinel value.
      
      The "identity" value is then documented, but most users can
      ignore that because NewRequest now sets that.
      
      And adds more tests.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/4603041
      9c436ab7