namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NMZ.*.BAK
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx>
- Date: Mon, 30 Nov 1998 12:52:25 +0900
- X-ml-name: namazu
- X-mail-count: 01692
古川です。引用前後しますが…
>> On Sun, 29 Nov 1998 11:07:07 +0900, SHIOZAKI Takehiko <takehi-s@xxxxxxxxxxx> said:
> ところで、gcnmzってかなりメモリを食いますね。以下のような処理をするのに、
> プロセスサイズが100Mにもなって、はらはらしてしまいました。
確かにそうですね。とりあえず、
*** nmztxt.pl.orig Mon Nov 30 12:31:34 1998
--- nmztxt.pl Mon Nov 30 12:30:06 1998
***************
*** 473,481 ****
}
sub readint{
- local(*fH) = @_;
local($_);
! return undef unless read(*fH, $_, $IntSize);
unpack($IntType, $_);
}
--- 473,480 ----
}
sub readint{
local($_);
! return undef unless read($_[0], $_, $IntSize);
unpack($IntType, $_);
}
のようにすると、爆発的な膨張は防げるようです。(FreeBSD-2.2.7 + perl5.00404)
その他、不必要に local を使用している箇所が多いので、見直すべきところは、
まだまだたくさんありそうです。
> これに関して、ちょっとしたpatchを作ってみました。ご確認願います。
> ・NMZ.{head,field}.*を処理するときに、それらの.BAKも対象になってしまい、
> 時間も場所も食うのを止めた。
> ・何もしなくてよかったときは本当に何もしないようにした。
と共に、もう少し詳しく見直そうと思います。
# 考えなしに local を多用してはいけない、ということですね。
--
ヤマハ(株)ピアノプレーヤ設計課
古川 令
furukawa@xxxxxxxxxxxxxxxx