こんな面白そうな記事があったので作ってみた.
全ての最適化を実装するのはちょっとしんどかったので(というか途中で飽き始めた)2段階目まで作った.
実行速度を見ると元記事通り, 明らかに差が出るのが面白い.
試行回数1だけど.
$ go test -bench . BenchmarkFactorSimpleRun-4 1 56483572100 ns/op BenchmarkMandelbrotSimpleRun-4 1 202497152900 ns/op BenchmarkFactorOptimizedRun-4 1 24686566000 ns/op BenchmarkMandelbrotOptimizedRun-4 1 79534122700 ns/op BenchmarkFactorOptimized2Run-4 1 13370674300 ns/op BenchmarkMandelbrotOptimized2Run-4 1 41272916900 ns/op PASS ok _/C_/msys64/home/IMAI/dropbox/lab/gobrainfuck 418.021s
Optimize2段階目時点で5倍くらい早い.
いやー, 面白い.