1. 17 Oct, 2012 7 commits
  2. 16 Oct, 2012 12 commits
  3. 15 Oct, 2012 3 commits
    • Dmitriy Vyukov's avatar
      runtime: add missing if(raceenabled) · 6273c732
      Dmitriy Vyukov authored
      R=0xe2.0x9a.0x9b, minux.ma, iant, dave
      CC=golang-dev
      https://golang.org/cl/6654052
      6273c732
    • Nigel Tao's avatar
      image/jpeg: re-organize the processSOS code. · 1f31598e
      Nigel Tao authored
      This is a straight copy/paste, and the deletion of a TODO. There are
      no other changes.
      
      R=r
      CC=golang-dev
      https://golang.org/cl/6687049
      1f31598e
    • Nigel Tao's avatar
      image/jpeg: decode progressive JPEGs. · 8b624f60
      Nigel Tao authored
      To be clear, this supports decoding the bytes on the wire into an
      in-memory image. There is no API change: jpeg.Decode will still not
      return until the entire image is decoded.
      
      The code is obviously more complicated, and costs around 10% in
      performance on baseline JPEGs. The processSOS code could be cleaned up a
      bit, and maybe some of that loss can be reclaimed, but I'll leave that
      for follow-up CLs, to keep the diff for this one as small as possible.
      
      Before:
      BenchmarkDecode	    1000	   2855637 ns/op	  21.64 MB/s
      After:
      BenchmarkDecodeBaseline	     500	   3178960 ns/op	  19.44 MB/s
      BenchmarkDecodeProgressive	     500	   4082640 ns/op	  15.14 MB/s
      
      Fixes #3976.
      
      The test data was generated by:
      # Create intermediate files; cjpeg on Ubuntu 10.04 can't read PNG.
      convert video-001.png video-001.bmp
      convert video-005.gray.png video-005.gray.pgm
      # Create new test files.
      cjpeg -quality 100 -sample 1x1,1x1,1x1 -progressive video-001.bmp > video-001.progressive.jpeg
      cjpeg -quality 50 -sample 2x2,1x1,1x1 video-001.bmp > video-001.q50.420.jpeg
      cjpeg -quality 50 -sample 2x1,1x1,1x1 video-001.bmp > video-001.q50.422.jpeg
      cjpeg -quality 50 -sample 1x1,1x1,1x1 video-001.bmp > video-001.q50.444.jpeg
      cjpeg -quality 50 -sample 2x2,1x1,1x1 -progressive video-001.bmp > video-001.q50.420.progressive.jpeg
      cjpeg -quality 50 -sample 2x1,1x1,1x1 -progressive video-001.bmp > video-001.q50.422.progressive.jpeg
      cjpeg -quality 50 -sample 1x1,1x1,1x1 -progressive video-001.bmp > video-001.q50.444.progressive.jpeg
      cjpeg -quality 50 video-005.gray.pgm > video-005.gray.q50.jpeg
      cjpeg -quality 50 -progressive video-005.gray.pgm > video-005.gray.q50.progressive.jpeg
      # Delete intermediate files.
      rm video-001.bmp video-005.gray.pgm
      
      R=r
      CC=golang-dev
      https://golang.org/cl/6684046
      8b624f60
  4. 14 Oct, 2012 1 commit
  5. 13 Oct, 2012 1 commit
  6. 12 Oct, 2012 9 commits
  7. 11 Oct, 2012 7 commits
    • Andrew Gerrand's avatar
      os/signal: add Notify example · bd6601f4
      Andrew Gerrand authored
      R=golang-dev, dsymonds, r
      CC=golang-dev
      https://golang.org/cl/6615078
      bd6601f4
    • Robert Griesemer's avatar
      math/big: more conservative use of lock for divisor table · 4bee88d4
      Robert Griesemer authored
      Minor performance impact running sequentially:
      
      benchmark                      old ns/op    new ns/op    delta
      BenchmarkString10Base2               389          391   +0.51%
      BenchmarkString100Base2             1530         1534   +0.26%
      BenchmarkString1000Base2           11789        11787   -0.02%
      BenchmarkString10000Base2         111443       112030   +0.53%
      BenchmarkString100000Base2       1017483      1015347   -0.21%
      BenchmarkString10Base8               339          344   +1.47%
      BenchmarkString100Base8              753          756   +0.40%
      BenchmarkString1000Base8            4618         4641   +0.50%
      BenchmarkString10000Base8          43217        43534   +0.73%
      BenchmarkString100000Base8        397518       400602   +0.78%
      BenchmarkString10Base10              630          630   +0.00%
      BenchmarkString100Base10            1975         1960   -0.76%
      BenchmarkString1000Base10          10179        10174   -0.05%
      BenchmarkString10000Base10         44527        44416   -0.25%
      BenchmarkString100000Base10     14404694     14425308   +0.14%
      BenchmarkString10Base16              283          288   +1.77%
      BenchmarkString100Base16             597          598   +0.17%
      BenchmarkString1000Base16           3189         3186   -0.09%
      BenchmarkString10000Base16         29403        29364   -0.13%
      BenchmarkString100000Base16       265657       265587   -0.03%
      
      Note that due to other improvements (faster assembly routines,
      better code generation by compiler), these benchmarks now run
      up to 37% faster than they used to at the last time measured (1/9/2012).
      
      Minor performance impact for StringPiParallel running in parallel:
      
      Current CL but with Lock/Unlock commented out (removed):
      
      BenchmarkStringPiParallel	    5000	    343581 ns/op
      BenchmarkStringPiParallel-2	   10000	    184511 ns/op
      BenchmarkStringPiParallel-3	   10000	    129768 ns/op
      BenchmarkStringPiParallel-4	   10000	    102326 ns/op
      
      Current CL:
      
      BenchmarkStringPiParallel	    5000	    345169 ns/op
      BenchmarkStringPiParallel-2	   10000	    185827 ns/op
      BenchmarkStringPiParallel-3	   10000	    131168 ns/op
      BenchmarkStringPiParallel-4	   10000	    102353 ns/op
      
      Fixes #4218.
      
      R=dvyukov, michael.jones, dave
      CC=golang-dev
      https://golang.org/cl/6643053
      4bee88d4
    • Adam Langley's avatar
      crypto/rsa: fix decryption benchmark. · 3acce59b
      Adam Langley authored
      I was an idiot and was thinking that a small base didn't matter
      because the exponentiation would quickly make the number the same size
      as the modulus. But, of course, the small base continues to make
      multiplications unrealistically cheap throughout the computation.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/6649048
      3acce59b
    • Dave Cheney's avatar
      net/http: fix data race on countReader.n · a14f87ca
      Dave Cheney authored
      Fixes #4220.
      
      R=dvyukov, bradfitz
      CC=golang-dev
      https://golang.org/cl/6638053
      a14f87ca
    • Dave Cheney's avatar
      net/http: fix race on bodyEOFSignal.isClosed · f1b17536
      Dave Cheney authored
      Update #4191.
      
      Fixes unreported race failure at
      http://build.golang.org/log/61e43a328fb220801d3d5c88cd91916cfc5dc43c
      
      R=dvyukov, bradfitz
      CC=golang-dev
      https://golang.org/cl/6640057
      f1b17536
    • Adam Langley's avatar
      crypto/hmac: add Equal function. · 6720997f
      Adam Langley authored
      It was suggested that it's too easy to use crypto/hmac insecurely and
      I think that has some merit. This change adds a Equal function to
      make it obvious that MAC values should be compared in constant time.
      
      R=rsc, max
      CC=golang-dev
      https://golang.org/cl/6632044
      6720997f
    • Shenghou Ma's avatar
      doc/contribute.html: assorted fixes · 4c473c02
      Shenghou Ma authored
      0. windows uses all.bat instead of ./all.bash
      1. correct expected all.bash output
      2. mention you need to use an application specific password
      if you're using 2-step verification
      3. note you can edit files included in CL by 'hg change NNNN'
      or 'hg file'
      
      R=golang-dev, adg, r
      CC=golang-dev
      https://golang.org/cl/6615060
      4c473c02