go /
go /
af08cfa494452b53d4b520f6ad862abf6f81f3ca image: add PixOffset methods; use them in image/draw and image/tiff.
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
4 files changed