1. 20 Oct, 2012 2 commits
    • Shenghou Ma's avatar
      runtime: ~3.7x speed up of div/mod on ARM · 3e3fa7b5
      Shenghou Ma authored
      benchmark                      old ns/op    new ns/op    delta
      BenchmarkUint32Div7                  281           75  -73.06%
      BenchmarkUint32Div37                 281           75  -73.02%
      BenchmarkUint32Div123                281           75  -73.02%
      BenchmarkUint32Div763                280           75  -72.89%
      BenchmarkUint32Div1247               280           75  -72.93%
      BenchmarkUint32Div9305               281           75  -73.02%
      BenchmarkUint32Div13307              281           75  -73.06%
      BenchmarkUint32Div52513              281           75  -72.99%
      BenchmarkUint32Div60978747           281           63  -77.33%
      BenchmarkUint32Div106956295          280           63  -77.21%
      BenchmarkUint32Mod7                  280           77  -72.21%
      BenchmarkUint32Mod37                 280           77  -72.18%
      BenchmarkUint32Mod123                280           77  -72.25%
      BenchmarkUint32Mod763                280           77  -72.18%
      BenchmarkUint32Mod1247               280           77  -72.21%
      BenchmarkUint32Mod9305               280           77  -72.21%
      BenchmarkUint32Mod13307              280           77  -72.25%
      BenchmarkUint32Mod52513              280           77  -72.18%
      BenchmarkUint32Mod60978747           280           63  -77.25%
      BenchmarkUint32Mod106956295          280           63  -77.21%
      
      R=dave, rsc
      CC=dave, golang-dev, rsc
      https://golang.org/cl/6717043
      3e3fa7b5
    • Nigel Tao's avatar
      bufio: remove a little unnecessary indirection in tests. · 0ba5ec53
      Nigel Tao authored
      R=mchaten, r
      CC=golang-dev
      https://golang.org/cl/6739045
      0ba5ec53
  2. 19 Oct, 2012 6 commits
  3. 18 Oct, 2012 5 commits
  4. 17 Oct, 2012 10 commits
  5. 16 Oct, 2012 12 commits
  6. 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
  7. 14 Oct, 2012 1 commit
  8. 13 Oct, 2012 1 commit