Descriptioncmd/8g: don't create redundant temporaries in bgen.
Comparisons used to create temporaries for arguments
even if they were already variables or addressable.
Removing the extra ones reduces pressure on regopt.
benchmark old ns/op new ns/op delta
BenchmarkGobDecode 50787620 49908980 -1.73%
BenchmarkGobEncode 19870190 19473030 -2.00%
BenchmarkGzip 3214321000 3067929000 -4.55%
BenchmarkGunzip 496792800 465828600 -6.23%
BenchmarkJSONEncode 232524800 263864400 +13.48%
BenchmarkJSONDecode 622038400 506600600 -18.56%
BenchmarkMandelbrot200 23937310 45913060 +91.81%
BenchmarkParse 14364450 13997010 -2.56%
BenchmarkRevcomp 6919028000 6480009000 -6.35%
BenchmarkTemplate 594458800 539528200 -9.24%
benchmark old MB/s new MB/s speedup
BenchmarkGobDecode 15.11 15.38 1.02x
BenchmarkGobEncode 38.63 39.42 1.02x
BenchmarkGzip 6.04 6.33 1.05x
BenchmarkGunzip 39.06 41.66 1.07x
BenchmarkJSONEncode 8.35 7.35 0.88x
BenchmarkJSONDecode 3.12 3.83 1.23x
BenchmarkParse 4.03 4.14 1.03x
BenchmarkRevcomp 36.73 39.22 1.07x
BenchmarkTemplate 3.26 3.60 1.10x
Patch Set 1 #Patch Set 2 : diff -r bbb1a6dfcd58 https://go.googlecode.com/hg/ #Patch Set 3 : diff -r bbb1a6dfcd58 https://go.googlecode.com/hg/ #Patch Set 4 : diff -r 4fdee89c5785 https://go.googlecode.com/hg/ #MessagesTotal messages: 10
|