More work on efficiency

This commit is contained in:
Simon Brooke 2014-08-29 22:50:11 +01:00
parent 1120cb42e8
commit c96142a973
2 changed files with 11 additions and 3 deletions

View file

@ -8,10 +8,11 @@
"build-signature-timestamp" "unset" "build-signature-timestamp" "unset"
"Implementation-Version" "unset" "Implementation-Version" "unset"
} }
:jvm-opts ["-Xmx2g"]
:license {:name "GNU General Public License v2" :license {:name "GNU General Public License v2"
:url "http://www.gnu.org/licenses/gpl-2.0.html"} :url "http://www.gnu.org/licenses/gpl-2.0.html"}
:plugins [[lein-marginalia "0.7.1"]] :plugins [[lein-marginalia "0.7.1"]
[lein-gorilla "0.3.2"]]
:dependencies [[org.clojure/clojure "1.5.1"] :dependencies [[org.clojure/clojure "1.5.1"]
[org.clojure/math.combinatorics "0.0.7"] [org.clojure/math.combinatorics "0.0.7"]
[org.clojure/tools.trace "0.7.8"] [org.clojure/tools.trace "0.7.8"]

View file

@ -97,7 +97,7 @@
(let [state {:world (transform-world world init-rules) :rules rules}] (let [state {:world (transform-world world init-rules) :rules rules}]
(:world (:world
(last (last
(do-all (doall
(take generations (take generations
(iterate transform-world-state state))))))) (iterate transform-world-state state)))))))
@ -109,5 +109,12 @@
(dosync (dosync
(ref-set r (transform-world (deref r) rules)))) (ref-set r (transform-world (deref r) rules))))
(deref r))) (deref r)))
(defn run-world3
[world init-rules rules generations]
(reduce (fn [world _iteration]
(transform-world world rules))
(transform-world world init-rules)
(range generations)))