namazu-ml(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: comparison between 1.3.0.10,1.4.0.0-beta-8 and1.9.3



<199909080014.JAA21876@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。

>> > 15.1   121.5 107.23 807165   0.0002 0.0001  File::MMagic::readMagicLine

  readMagicLineが特に重いようですね...

>> File::MMagic の checktype_contents() を使ってまともに文書形
>> 式を判別すれば時間がかかるのは仕方がないので、 
>> checktype_byfilename() だけで判別するオプションを mknmz につ
>> けるとよさそうです。 mknmz --easyguessing といった感じで。

  checktype_contents内部では

1. magic entryにしたがって種別を判定 (readMagicLineはここで呼ばれる)
2. 1で判別がつかなければ%SPECIALにしたがって種別を判別

  という順に処理を行っています。1と2を分離して、mknmz内部で2を優先的に
処理するようにしてもそれなりの高速化が望めそうです。一般的な利用で
Namazuがmagicで判別すべきファイルを処理する場合は少なそうですし。

  その方向でFile::MMagicを修正してみます。
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
        nokubi@xxxxxxxxx (official)