少し早くなったので諦める
以前の結果はこれで、
$ time npt --script mk.eastasian.lisp real 0m57.098s user 0m56.853s sys 0m0.233s
今回の結果はこれ。
$ time npt --script mk.eastasian.lisp real 0m23.119s user 0m22.831s sys 0m0.283s
半分以上早くなっていますね。
わりといい結果だと思います。
ちなみにclisp
は
$ time clisp -m 2g mk.eastasian.lisp real 0m2.294s user 0m2.276s sys 0m0.016s
clisp
と張り合っても仕方が無いので、改造はこれで終わり!
当分はこの速度でやっていくと思います。
何をして早くしたのか
いつかはThreadに対応させたい!
と思ってmutex lockしてた部分を大体消しました。
これだけで次の結果。
$ time npt --script mk.eastasian.lisp real 0m34.106s user 0m33.817s sys 0m0.284s
ガベージコレクタの方式を変えればどうかな?
色々考えて実験した結果が次の通り。
$ time npt --script mk.eastasian.lisp real 0m57.098s user 0m56.853s sys 0m0.233s
全然ダメ。
戻します。
よく見るとThread用にheap
やらgc
やらも
いらない処理が多分に含まれていたので全部削除。
$ time npt --script mk.eastasian.lisp real 0m23.119s user 0m22.831s sys 0m0.283s
早くなった。
あとは何したら早くなるんだろう。
全然わからない。