aboutsummaryrefslogtreecommitdiff
path: root/src/plugin/plugin_dlopen.go
diff options
context:
space:
mode:
authorArtyom Pervukhin <artyom.pervukhin@gmail.com>2017-10-21 09:36:54 +0300
committerNigel Tao <nigeltao@golang.org>2017-10-25 23:43:27 +0000
commit088209bbe870725f82e44e604e787d7273488bd6 (patch)
tree78c01c9b648a93e6d792a79083f271e1bbc820dc /src/plugin/plugin_dlopen.go
parentf2d52519e1fad35566afb46ef521934cf0f5e5fd (diff)
downloadgo-088209bbe870725f82e44e604e787d7273488bd6.tar.xz
image/draw: reduce drawPaletted allocations for special source cases
drawPaletted has to discover R,G,B,A color values of each source image pixel in a given rectangle. Doing that by calling image.Image.At() method returning color.Color interface is quite taxing allocation-wise since interface values go through heap. Introduce special cases for some concrete source types by fetching color values using type-specific methods. name old time/op new time/op delta Paletted-4 7.62ms ± 4% 3.72ms ± 3% -51.20% (p=0.008 n=5+5) name old alloc/op new alloc/op delta Paletted-4 480kB ± 0% 0kB ± 0% -99.99% (p=0.000 n=4+5) name old allocs/op new allocs/op delta Paletted-4 120k ± 0% 0k ± 0% -100.00% (p=0.008 n=5+5) Updates #15759. Change-Id: I0ce1770ff600ac80599541aaad4c2c826855c8fb Reviewed-on: https://go-review.googlesource.com/72370 Reviewed-by: Nigel Tao <nigeltao@golang.org>
Diffstat (limited to 'src/plugin/plugin_dlopen.go')
0 files changed, 0 insertions, 0 deletions