Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

2013-01-01から1年間の記事一覧

Clojure (Java) はやはり速かったという話

Clojure (Java) はやはり速かったという話 あまりにも遅すぎなのでは?と思ったので調べたらやはり計測方法に問題があっ たみたい。 Java がこんなに遅いわけない。 遅かった原因 いつも通り nrepl 経由で適当に実行していたのが原因。 leiningen から nrepl…

Clojure が遅いという話

Clojure が遅いという話 遅いケースもあるという認識も持っておいてもらおう。 比較のために今回はPythonと比べてみる。 Clojure (dotimes [i 5] (time (reduce unchecked-add (map unchecked-add (range 1000000) (range 1000000))))) Python import timeit…

Leiningen と profile を使って設定ファイルを切り替える

Leiningen と profile を使って設定ファイルを切り替える Leiningen には profile を切り替える機能がある。 profile を切り替えることで本番用の設定と切り替えたりできるのだが、具体例が少ないように思えたので書いておく。 開発時に使える dev-resources…

Jegaをリリースした話

先日、やっとリリースしました。 tobikko時代から考えると数年がかりいじってた気がします。 Jegaについて concurrent networking and cooperative multitasking library for Python3. わかりやすく言うとgeventの後継ライブラリになります。 Python3.x系し…

Common LispにThreaded Macroを実装する

PythonからいいところをひとつもってこれたのでClojureからももってくる。 Clojureでは数珠つなぎで処理する場所はわかりやすくThreaded Macroを使って書くことが多い。 これはわかりやすいのでCommon Lispでも実装しておく。 (defmacro -> (x &optional for…

Common LispでPythonのgeneratorを実装する

結局Lisp書かないとダメだということで本格的にPythonから移行しようと思ってます。 まず、今使ってるツールなどをLispに置き換えようと思ったらまあgeneratorが無くてめんどいことに。 というわけでgeneratorを実装しておく。 この手はみんな実装してるので…