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