dune <FZH01112@...> さん wrote.
> >$ perl hoge.pl 000text
> >128MB
> >5s
>
> 速いなぁ。OS の違いでしょうか。僕は Windows 2000 なんですが。
たぶんキャッシュがきいています。ただ、いろんな read の仕方の中では最速の
ようです。でも、メモリ搭載量が少ないと Out of Memory になるのかも……と
いう気がして、4096 バイトずつ読むのをデフォルトにして、後は環境に応じて
手を入れてくださいな、とするのが無難かと思い出しました。ラクダ本には
(stat FILE)[11]
を使え、とあるな(^^;。
私の環境はソフト的には Vine Linux 2.5 / Perl, v5.6.1 built for
i386-linux となっていまして、ハード的には Celeron 1200 MHz / 256MB
SDRAM(うち 128MB を Vmware が占有中で実質 128MB) / Ultra DMA 33 で、最近
のマシンとしては恐らく少し見劣りする程度です。Vine Linux だと、あまり新
しいハードはつまずきの元でもあるので。ちなみに rakunet.org のサーバは、
Plamo ですが Ultra DMA 100 で動いていて、ディスクアクセスは極めて速いで
す。まあ、この辺はマザーボードの BIOS との相性もあるし、買ってきてセット
してみないと、よくわからないんですよ。
> read(FILE,my $buff,-s $file);
ここがよくわからないのですが、
read(FILE,my $buff,(stat FILE)[7]);
と同じ意味ですか?
--
本田博通(閑舎)
テキストとスクリプトの http://rakunet.org/TSNET/