CGI-BBS > CGI > Perl > ハッシュの取り扱いについて


カレッヂ
カレッヂ


質問者 よしお  投稿日 7/24(火) 14:27:00
perlの中で使用するハッシュって、大体どれくらいのデータを一時的にもてるんですか?
それってやっぱりサーバの性能によるところが大きいのでしょうか?

自分でDBとかデータの整理CGIを作るといつも気になるのが、このハッシュなんです。
便利なんですが・・・。
どなたか、もしよろしければお願いいたします。
回答者 まさ  [削除]  投稿日 7/25(水) 13:02:25
基本的にハッシュにせよ配列にせよ、それらのデータはメモリー上に保存されます。
ですからサーバーがどのくらいのメモリーを積んでいるかで異なってきます。

例えばopenで配列に全てのデータを読み込むように書いていると、そのデータが10M
あれば、メモリーは10M消費されます。

基本的にハッシュも配列と同じなので、同じように処理されます。
ようはメモリー次第と言う事です。

ですからどれほどのデータが保持されるかわからない場合は、それを見越したアルゴ
リズムを組まないと、下手をすればサーバーがダウンします。

この辺を注意してプログラミングして下さい。

たとえば先のopenの場合は、全てのデータを配列に入れるのでなく、1行づつ読み込ん
で処理をするとかにしないと、とんでもないことになる場合があります。

質問者 よしお  [削除]  投稿日 7/25(水) 13:15:08
どうもありがとうございます。
やはりメモリ上で管理をするのですか。

perlを初めてまだそんなに時間もたっていないので、まだまだ分からないことが
多いですが、これからも宜しくお願いします。

このページは終了したので返信(回答)は書きこめません

Web裏技