Slide 26
Slide 26 text
7. ベンチマーク結果を比較する
コンパイラ最適化結果を比較してみる
$ diff opt_nopgo.txt opt_pgo.txt
> cmd/mandelweb/main.go:59:15: inlining call to fillPixel
func fillPixel(m *Img, x, y int) {
const n = 1000
const Limit = 2.0
const Zoom = 4
Zr, Zi, Tr, Ti := 0.0, 0.0, 0.0, 0.0
Cr := Zoom*float64(x)/float64(n) - 1.5
Ci := Zoom*float64(y)/float64(n) - 1.0
for i := 0; i < n && (Tr+Ti <= Limit*Limit); i++ {
Zi = 2*Zr*Zi + Ci
Zr = Tr - Ti + Cr
Tr = Zr * Zr
Ti = Zi * Zi
}
paint(&m.m[x][y], Tr, Ti)
}