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
で負荷をかけて みる • Requests per Second (rps) と レスポンスタイムを観察 # realistic class HelloWorld def call(env) burn_cpu db.query "SELECT sleep(0.05);" end end # cpu-only class HelloWorld def call(env) db.query "SELECT sleep(0.05);" end end # io-only class HelloWorld def call(env) db.query "SELECT sleep(0.05);" end end