pypyでexeを作る
環境はbashとpython2.7とVisualStudio2008で試しました。
まずはpypyの最新ソースを取ってくる
$ git svn -r HEAD http://codespeak.net/svn/pypy/trunk pypy-trunk
もしくは
$ svn co http://codespeak.net/svn/pypy/trunk pypy-trunk
適当な.pyを書く
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys def fibo(n): if n < 1: return 0 return (fibo(n - 2) + fibo(n - 1)) if n > 2 else 1 def main(args): print fibo(int(args[1])) return 0 def target(*args): return main, None if __name__ == '__main__': main(sys.argv)
pypyビルド!
$ python pypy-trunk/pypy/translator/goal/translate.py --batch --backend=c --output=fibo-c.exe fibo.py ... もりもりビルドログ ... [Timer] compile_c --- 2.8 s [Timer] ================================= [Timer] Total: --- 21.8 s
何やらerrorの文字が踊っているがよくわからないので今は気にしないことにする。
実行!
$ time python fibo.py 38 39088169 real 0m18.084s user 0m0.015s sys 0m0.015s $ time ./fibo-c 38 39088169 real 0m1.328s user 0m0.015s sys 0m0.000s