2013-01-01から1年間の記事一覧
Clojure (Java) はやはり速かったという話 あまりにも遅すぎなのでは?と思ったので調べたらやはり計測方法に問題があっ たみたい。 Java がこんなに遅いわけない。 遅かった原因 いつも通り nrepl 経由で適当に実行していたのが原因。 leiningen から nrepl…
Clojure が遅いという話 遅いケースもあるという認識も持っておいてもらおう。 比較のために今回はPythonと比べてみる。 Clojure (dotimes [i 5] (time (reduce unchecked-add (map unchecked-add (range 1000000) (range 1000000))))) Python import timeit…
Leiningen と profile を使って設定ファイルを切り替える Leiningen には profile を切り替える機能がある。 profile を切り替えることで本番用の設定と切り替えたりできるのだが、具体例が少ないように思えたので書いておく。 開発時に使える dev-resources…
先日、やっとリリースしました。 tobikko時代から考えると数年がかりいじってた気がします。 Jegaについて concurrent networking and cooperative multitasking library for Python3. わかりやすく言うとgeventの後継ライブラリになります。 Python3.x系し…
PythonからいいところをひとつもってこれたのでClojureからももってくる。 Clojureでは数珠つなぎで処理する場所はわかりやすくThreaded Macroを使って書くことが多い。 これはわかりやすいのでCommon Lispでも実装しておく。 (defmacro -> (x &optional for…
結局Lisp書かないとダメだということで本格的にPythonから移行しようと思ってます。 まず、今使ってるツールなどをLispに置き換えようと思ったらまあgeneratorが無くてめんどいことに。 というわけでgeneratorを実装しておく。 この手はみんな実装してるので…