1. 02 May, 2011 10 commits
    • Robert Griesemer's avatar
      go/token: faster FileSet.Position implementation · 16381b14
      Robert Griesemer authored
      - added a cache for last file looked up: avoids binary
        search if the file matches
      
      - don't look up extra line info if not present
        (it is almost never present)
      
      - inline one critical binary search call (inlining
        provides almost 30% improvement in this case)
      
      Together, these changes make the go/printer benchmark
      more than twice as fast (53% improvement). gofmt also
      sped up by about the same amount.
      
      Also: removed an unused internal field from FileSet.
      
      Measurements (always best of 5 runs):
      
      * original:
        printer.BenchmarkPrint     5    238354200 ns/op (100%)
      
      * using last file cache:
        printer.BenchmarkPrint    10    201796600 ns/op (85%)
      
      * avoiding lookup of extra line info:
        printer.BenchmarkPrint    10    157072700 ns/op (66%)
      
      * inlining a critical binary search call:
        printer.BenchmarkPrint    10    111523500 ns/op (47%)
      
      gofmt (always best of 3 runs):
      
      * before:
        time gofmt -l src misc
        real	0m33.316s
        user	0m31.298s
        sys	0m0.319s
      
      * after:
        time gofmt -l src misc
        real	0m15.889s
        user	0m14.596s
        sys	0m0.224s
      
      R=r, dfc, bradfitz, rsc1
      CC=golang-dev
      https://golang.org/cl/4433086
      16381b14
    • Robert Griesemer's avatar
      go spec: restricted expressions may still be parenthesized · 6af887ec
      Robert Griesemer authored
      No language change.
      
      - added a few examples with parentheses
      - added a corresponding sentence to assignments
        (this explicitly permits: (_) = 0, currently allowed by 6g,
        gofmt, but marked as an error by gccgo).
      
      R=rsc, r, iant
      CC=golang-dev
      https://golang.org/cl/4446071
      6af887ec
    • Russ Cox's avatar
      5a, 6a, 8a, cc: remove old environment variables · a46a311d
      Russ Cox authored
      Uses of $INCLUDE and $NPROC are left over from Plan 9.
      Remove them to avoid causing confusion.
      
      R=golang-dev, r2
      CC=golang-dev
      https://golang.org/cl/4445079
      a46a311d
    • Brad Fitzpatrick's avatar
      multipart: add FileName accessor on Part · ef945203
      Brad Fitzpatrick authored
      R=rsc, adg
      CC=golang-dev
      https://golang.org/cl/4426074
      ef945203
    • Mikio Hara's avatar
      net: enable SO_REUSEPORT on BSD variants · bc926713
      Mikio Hara authored
      Fixes #1694.
      
      R=golang-dev, rsc1, rsc
      CC=golang-dev
      https://golang.org/cl/4445067
      bc926713
    • Mikio Hara's avatar
      net: fix ipv6 test · 756df8e0
      Mikio Hara authored
      Fixes #1767.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4436073
      756df8e0
    • Russ Cox's avatar
      runtime, sync/atomic: fix arm cas · 540feaae
      Russ Cox authored
      Works around bug in kernel implementation on old ARM5 kernels.
      Bug was fixed on 26 Nov 2007 (between 2.6.23 and 2.6.24) but
      old kernels persist.
      
      Fixes #1750.
      
      R=dfc, golang-dev
      CC=golang-dev
      https://golang.org/cl/4436072
      540feaae
    • Brad Fitzpatrick's avatar
      jpeg: speed up RGBA encoding ~%50 · 807ce271
      Brad Fitzpatrick authored
      Avoids image.At(), color.RGBA(), opposing 8 bit shifts,
      and min function calls in a loop.  Not as pretty as before,
      but the pure version is still there to revert back to
      later if/when the compiler gets better.
      
      before (best of 5)
      jpeg.BenchmarkEncodeRGBOpaque   50   64781360 ns/op   18.97 MB/s
      
      after (best of 5)
      jpeg.BenchmarkEncodeRGBOpaque   50   42044300 ns/op   29.23 MB/s
      
      (benchmarked on an HP z600; 16 core Xeon E5520 @ 2.27Ghz)
      
      R=r, r2, nigeltao
      CC=golang-dev
      https://golang.org/cl/4433088
      807ce271
    • Brad Fitzpatrick's avatar
      png: speed up opaque RGBA encoding · 437015bb
      Brad Fitzpatrick authored
      With Linux/8g on a 2006 Mac Mini (1.66 GHz Intel Core Duo,
      2KB L1, 2MB L2, 2G main memory), GOMAXPROCS unset:
      
      start:
      png.BenchmarkEncodePaletted	      50	  44772820 ns/op
      png.BenchmarkEncodeRGBOpaque	      10	 208395900 ns/op
      png.BenchmarkEncodeRGBA		       5	 331088000 ns/op
      
      remove interface method calls:
      png.BenchmarkEncodePaletted	      50	  44722880 ns/op
      png.BenchmarkEncodeRGBOpaque	      10	 139042600 ns/op
      png.BenchmarkEncodeRGBA		       5	 334033600 ns/op
      
      flate inline min/max():
      png.BenchmarkEncodePaletted	      50	  40631180 ns/op
      png.BenchmarkEncodeRGBOpaque	      10	 124894900 ns/op
      png.BenchmarkEncodeRGBA		       5	 312099000 ns/op
      
      after adler change:
      png.BenchmarkEncodePaletted	      50	  40181760 ns/op
      png.BenchmarkEncodeRGBOpaque	      20	 121781950 ns/op
      png.BenchmarkEncodeRGBA		       5	 313890800 ns/op
      
      In comparison to 121 ms on this 2006 machine, on my
      Core2 Duo 2.66 GHz laptop, the final BenchmarkEncodeRGBOpaque
      runs in 27 ms. (these are all for 640x480 images)
      
      R=nigeltao, rsc, r
      CC=golang-dev
      https://golang.org/cl/4432077
      437015bb
    • Brad Fitzpatrick's avatar
      db16bca1
  2. 01 May, 2011 4 commits
  3. 29 Apr, 2011 7 commits
  4. 28 Apr, 2011 18 commits
  5. 27 Apr, 2011 1 commit