FAQ
*** Submitted as
http://code.google.com/p/go/source/detail?r=3d7777fe2e8a ***

compress/flate: move the history buffer out of the decompressor struct.

I'm not exactly sure why there's a performance gain, but it seems like
an easy win. Maybe it's a cache line thing. Maybe it's that
unsafe.Sizeof(decompressor{}) drops to below unmappedzero, so that
checkref/checkoffset don't need to insert TESTB instructions. Maybe
it's less noise for the conservative garbage collector. Maybe it's
something else.

compress/flate benchmarks:
BenchmarkDecodeDigitsSpeed1e4 378628 349906 -7.59%
BenchmarkDecodeDigitsSpeed1e5 3481976 3204898 -7.96%
BenchmarkDecodeDigitsSpeed1e6 34419500 31750660 -7.75%
BenchmarkDecodeDigitsDefault1e4 362317 335562 -7.38%
BenchmarkDecodeDigitsDefault1e5 3290032 3107624 -5.54%
BenchmarkDecodeDigitsDefault1e6 30542540 28937480 -5.26%
BenchmarkDecodeDigitsCompress1e4 362803 335158 -7.62%
BenchmarkDecodeDigitsCompress1e5 3294512 3114526 -5.46%
BenchmarkDecodeDigitsCompress1e6 30514940 28927090 -5.20%
BenchmarkDecodeTwainSpeed1e4 412818 389521 -5.64%
BenchmarkDecodeTwainSpeed1e5 3475780 3288908 -5.38%
BenchmarkDecodeTwainSpeed1e6 33629640 31931420 -5.05%
BenchmarkDecodeTwainDefault1e4 369736 348850 -5.65%
BenchmarkDecodeTwainDefault1e5 2861050 2721383 -4.88%
BenchmarkDecodeTwainDefault1e6 27120120 25862050 -4.64%
BenchmarkDecodeTwainCompress1e4 372057 350822 -5.71%
BenchmarkDecodeTwainCompress1e5 2855109 2718664 -4.78%
BenchmarkDecodeTwainCompress1e6 26987010 26336030 -2.41%

image/png benchmarks:
BenchmarkDecodeGray 1841839 1802251 -2.15%
BenchmarkDecodeNRGBAGradient 7115318 6933280 -2.56%
BenchmarkDecodeNRGBAOpaque 6135892 6013284 -2.00%
BenchmarkDecodePaletted 1153313 1114302 -3.38%
BenchmarkDecodeRGB 5619404 5511190 -1.93%

R=rsc, r
CC=golang-dev
http://codereview.appspot.com/6533048


http://codereview.appspot.com/6533048/

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-dev @
categoriesgo
postedSep 24, '12 at 7:58a
activeSep 24, '12 at 7:58a
posts1
users1
websitegolang.org

1 user in discussion

Nigeltao: 1 post

People

Translate

site design / logo © 2022 Grokbase