codon動いた
Pythonコードをコンパイルして、c/c++並みの速度のバイナリを作れるという「codon」。
windows用バイナリの登場を待っていたが、出てこないので、この機会にwindowsにWSL2を使ってubuntuを入れて、
その上でcodonを動かしてみることにした。
WSL2のインストールはここが参考になりました。
そのあと、codonのインストール。こちらが参考になりました。
さてそれで、さっそく上のサイトに載っているコードをコンパイルしてみたところ、
/usr/bin/ld: cannot find -lz
g++がどうしたこうした
というエラーが出てコンパイルできない。昨日はg++のほうのエラーコードをぐぐって
かんばしい結果がなかったのであきらめていたが、今日、cannot find -lz について
https://stackoverflow.com/questions/3373995/usr-bin-ld-cannot-find-lz
このサイトを見つけたので、ためしにlib32z1-dev をインストールしてみたら、動くようになりましたよ!
ためしに
https://dev.classmethod.jp/articles/python-compiler-codon-trial-use/
↑のサイトのコードを入れてみたら、pythonで20秒のところ、
codonの最適化コンパイル(codon build -release)だと0.1秒! なんと200倍!
これ、早くwindows上で動いて、互換性も取れてくれるといいんだけどなー。
現状unicodeが使えないらしいので、だいぶ用途が限定されてしまいます。