2011年7月 5日

[Namazu-devel-ja 1824] Devel::NYTProf

臼田です。

以前 perl -d:DProf でパフォーマンスを調べていましたが
最近は Devel::NYTProf というものがあるようなのでインストールして試してみました。

$ perl -d:NYTProf /usr/local/bin/mknmz -O index namazu-devel-ja
$ nytprofhtml

といった実行により結果が html ファイル群として得られます。
個々のサブルーチン処理の各行の内訳まで確認できるのでなかなか興味深いです。

で、空白文字列を削除するだけにはちょっと重そうな処理が残っているのを
一カ所見つけました。
省略すれば数パーセント速くなると思われます。


$ diff -u scripts/mknmz.org scripts/mknmz
--- scripts/mknmz.org 2011-07-05 00:00:36.000000000 +0900
+++ scripts/mknmz 2011-07-05 00:28:32.000000000 +0900
@@ -2250,8 +2250,9 @@
my %tmp = ();
$$contref =~ s!\x7f */? *\d+ *\x7f!!g; # remove tags of weight
$$contref =~ tr/\xa1-\xfea-z0-9 \n//cd; # remove all symbols
+ $$contref =~ s/^\s+//;
+ $$contref =~ s/\s+$//;
my @words = split(/\s+/, $$contref);
- @words = grep {$_ ne ""} @words; # remove empty words
my $word_b = shift @words;
my $docid = $docid_count + $docid_base;
for my $word (@words) {


臼田幸生

_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja


投稿者 xml-rpc : 2011年7月 5日 00:50
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/104809
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。