goo blog サービス終了のお知らせ 

路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

memo: py2exe

2006-09-05 17:55:39 | プログラミング
2つ↓に書いた事情で、C++を当面はあきらめて、pythonのスクリプトで頑張ることに。
さらに別の事情により、そのスクリプトをexeファイルに変換することに。

py2exeの使い方メモ。

(1)py2exeをダウンロードしてインストール。
http://www.py2exe.org/

(2)exeに変換したいスクリプトのあるディレクトリに、以下のようなsetup.pyを作る
1 from distutils.core import setup
2 import py2exe
3
4 setup(console=['hello.py'])

(3)py2exeを実行する
python setup.py py2exe

(4)hello.exeoおよび必要なファイルが、distディレクトリに出来上がる

今回引っかかったこと:
Thinkpad t42pには、なぜかpython 2.2.3がプリインストールされているので、
明示的にC:¥Python24¥python.exeとして、2.4.3を実行した。

(追記 2006/09/07)
Typo修正。

C++で書き直したら動かない 。 ゜(゜´Д`゜)゜

2006-09-05 13:48:06 | プログラミング
この間から巨大なテキストデータを分析するために使っていたPythonスクリプトの話。

だんだん定常的に使われるようになってきたので、いざ1日かけてC++で書き直し、これで高速化、パフォーマンス向上だっ!と思ったら。

全然ダメ。スクリプトで処理できていたサイズの1/10くらいのデータでも、メモリ不足で落ちます。一瞬目の前が真っ暗に。

でっかい辞書(std::map)とか、たくさん確保しては解放される配列(std::vector)とか、なにかとヒープにフラグメンテーションを起こしそうな感じだったのは確かだけど・・・

やっぱりテンポラリファイルでごそごそやるような仕掛けにしないとダメかなあ。