1. 18 Oct, 2012 2 commits
  2. 17 Oct, 2012 10 commits
  3. 16 Oct, 2012 12 commits
  4. 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
  5. 14 Oct, 2012 1 commit
  6. 13 Oct, 2012 1 commit
  7. 12 Oct, 2012 9 commits
  8. 11 Oct, 2012 2 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