namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Perl compile option
sugiura@xxxxxxxxxxxx (Sugiura Shiro) wrote:
>と聞かれる部分で "y" と回答すると、2.2.8のころの速度がでることがわ
>かり。これ以上速さを求めるのも面倒なので、そのperlを使っているので
>すが、メモリの消費がかなり激しいのです。
>
> PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
> 323 ssugiura 94 0 309M 291M RUN 30:46 95.02% 95.02% perl
>
>上のは、実行からCPUタイムで30分ほど経過していますが、約75万個のファ
>イルを新規にindex化しようと、実行し、実際にindex化が始まった段階ぐ
>らいで既にこれぐらいメモリを食っています。こんなもんでしょうか?
v1.3.0.x の mknmz は対象ファイルのパス名のリストを全体まとめ
て配列に格納するので、ファイルが 75万個もあれば、それだけで
大量のメモリを消費して当然です。
ただいま開発中の版の mknmz ではパス名のリストを格納した配列
の内容を一時ファイルに書き出すので、配列が占有していたメモリ
はその時点で開放されます。が、開放といっても OS に返すのは
mknmz の終了時なので、膨らんだプロセスは mknmz が終了するま
でそのままです。(チェックポイント機能を使えば、re-exec の時
点で OS へ開放されますが)
# ちょっと工夫すれば、パス名を配列に格納せずに直接、一時ファ
# イルに書き出すことができるので、そうすれば、この場合のメモ
# リの大食いは解決します。そのうち実装します。
>で、ここからが本題なのですが、みなさん perl のコンパイル時にどうい
>うオプション指定などをしていますか? mknmz を使う時のお勧めなんかが
>あると嬉しいのですが。私の場合は、"-O3 -pipe" の他にintelベースなの
>で "-m486" とか "-mpentiumpro" をつけてるぐらいで、後はリターンキー
>叩きまくって Configure を終えています。
こちらはわかりません。
-- Satoru Takabayashi