• Nigel Tao's avatar
    image: add PixOffset methods; use them in image/draw and image/tiff. · af08cfa4
    Nigel Tao authored
    image/draw benchmarks show <1% change for the fast paths.
    The slow paths got worse by 1-4%, but they're the slow paths.
    I don't care so much about them, and presumably compiler improvements
    could claw it back.
    
    IIUC 6g's inlining is enabled by default now.
    
    benchmark                        old ns/op    new ns/op    delta
    draw.BenchmarkFillOver             2988384      2999624   +0.38%
    draw.BenchmarkFillSrc               153141       153262   +0.08%
    draw.BenchmarkCopyOver             2155756      2170831   +0.70%
    draw.BenchmarkCopySrc                72591        72646   +0.08%
    draw.BenchmarkNRGBAOver            2487372      2491576   +0.17%
    draw.BenchmarkNRGBASrc             1361306      1409180   +3.52%
    draw.BenchmarkYCbCr                2540712      2562359   +0.85%
    draw.BenchmarkGlyphOver            1004879      1023308   +1.83%
    draw.BenchmarkRGBA                 8746670      8844455   +1.12%
    draw.BenchmarkGenericOver         31860960     32512960   +2.05%
    draw.BenchmarkGenericMaskOver     16369060     16435720   +0.41%
    draw.BenchmarkGenericSrc          13128540     13127810   -0.01%
    draw.BenchmarkGenericMaskSrc      30059300     28883210   -3.91%
    
    R=r, gri
    CC=golang-dev, rsc
    https://golang.org/cl/5536059
    af08cfa4
draw.go 14 KB