• Russ Cox's avatar
    8g: optimize byte mov · 23f6479b
    Russ Cox authored
    Rewrite MOVB with less expensive
    instruction when possible.
    
    Suggested by atomic symbol.
    
    benchmark                                        old ns/op    new ns/op    delta
    crc32.BenchmarkCrc32KB                               13066         3942  -69.83%
    crc64.BenchmarkCrc64KB                                8780         5949  -32.24%
    lzw.BenchmarkDecoder1e4                             771224       636538  -17.46%
    lzw.BenchmarkDecoder1e5                            7101218      6096634  -14.15%
    lzw.BenchmarkDecoder1e6                           69762020     60789400  -12.86%
    lzw.BenchmarkEncoder1e4                             707968       638812   -9.77%
    lzw.BenchmarkEncoder1e5                            6567122      5965552   -9.16%
    lzw.BenchmarkEncoder1e6                           65006000     58911680   -9.38%
    utf8_test.BenchmarkRuneCountTenASCIIChars              166          165   -0.60%
    utf8_test.BenchmarkRuneCountTenJapaneseChars           246          258   +4.88%
    utf8_test.BenchmarkEncodeASCIIRune                      13           10  -23.08%
    utf8_test.BenchmarkEncodeJapaneseRune                   37           16  -56.76%
    utf8_test.BenchmarkDecodeASCIIRune                      23           21   -8.70%
    utf8_test.BenchmarkDecodeJapaneseRune                   58           32  -44.83%
    
    R=ken2
    CC=golang-dev
    https://golang.org/cl/4381045
    23f6479b
Name
Last commit
Last update
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...