Slide 19
Slide 19 text
プログラミング
言
語の速度差は、歴然として "ある"
// Go
func tarai(x int, y int, z int) int {
if x <= y {
return y
} else {
return tarai(
tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y))
}
}
# Ruby
def tarai(x, y, z)
if x <= y
y
else
tarai(
tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y))
end
end
"
竹
内関数" の速度
比
較をすると、
Ruby は Go の 5-15 倍ぐらい遅い
※ 再帰はRubyに不利な問題設定ではある
Y Z [ 3VCZ (P
T T
T T
T