2012-05-16 4Clojureを楽しむ(7)〜timeマクロ〜
4Clojureの#150を解いていて時間制限で何度もアウトになった。最適化するかアルゴリズムを見直さないといけない。こういうときは闇雲に最適化しようとするのではなく、まずは計測すべきである。
clojure.core/time
マクロを使えばお手軽に時間計測できる。
(time
(map #(cond
(zero? (mod % 15)) "FizzBuzz"
(zero? (mod % 5)) "Buzz"
(zero? (mod % 3)) "Fizz"
:else %)
(range 1 100)))
; "Elapsed time: 0.309987 msecs"
System/nanoTime
とかでも良いだろうけど、せっかく用意されているのでこちらを使ってみた。ちなみに#150はなんとかクリアできた。
24 min.