2007年4月13日

[Namazu-devel-ja 1554] Re: hash の負荷軽減

寺西です。

同等のテストを Windows で行いました。

[WA1]
User+System Time = 149.3632 Seconds

[WA2]

User+System Time = 138.0070 Seconds

[WD1]
User+System Time = 131.0533 Seconds

[WD2]
User+System Time = 124.7550 Seconds

という結果でした。WA1 の時間を 1.0 として比較した結果は次の通りです。

WA1: 1.000
WA2: 0.924
WD1: 0.877
WD2: 0.835

- WA2 と WD2 を比較すると WD2 は WA2 の 0.904でした。(修正の差)
- WD1 と WD2 を比較すると WD2 は WD1 の 0.952でした。(インデックス
の書き出し回数の差)

修正により約10%高速化しています。インデックスの書き出しも1回にすると、
約16%高速化するという結果です。


[WA1]

Total Elapsed Time = 383.0562 Seconds
User+System Time = 149.3632 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
17.0 25.43 25.436 107685 0.0002 0.0002 IO::Handle::close
9.22 13.77 13.772 736272 0.0000 0.0000 mknmz::hash
8.92 13.32 13.597 107697 0.0001 0.0001 IO::File::open
8.67 12.94 12.948 24816 0.0005 0.0005 mknmz::wordcount_sub
8.62 12.87 26.643 4136 0.0031 0.0064 mknmz::make_phrase_hash
5.49 8.202 32.752 4136 0.0020 0.0079 mknmz::count_words
4.48 6.689 6.689 118804 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
3.38 5.047 44.144 4136 0.0012 0.0107 mknmz::put_field_index
3.04 4.535 7.470 3 1.5117 2.4899 mknmz::write_index_sub
2.89 4.310 4.310 4136 0.0010 0.0010
File::MMagic::checktype_data
2.20 3.293 5.933 3 1.0978 1.9778
mknmz::write_phrase_hash_sub
1.82 2.719 2.719 104684 0.0000 0.0000 mknmz::get_last_docid
1.76 2.622 27.245 95276 0.0000 0.0003 util::fclose
1.72 2.564 2.757 4136 0.0006 0.0007 mailnews::mailnews_filter
1.70 2.538 2.538 107697 0.0000 0.0000 Symbol::gensym


[WA2]

Total Elapsed Time = 354.6200 Seconds
User+System Time = 138.0070 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
17.5 24.15 24.153 107664 0.0002 0.0002 IO::Handle::close
9.57 13.21 13.214 24816 0.0005 0.0005 mknmz::wordcount_sub
9.50 13.11 13.339 107676 0.0001 0.0001 IO::File::open
9.26 12.77 12.775 736272 0.0000 0.0000 mknmz::hash
8.59 11.86 24.634 4136 0.0029 0.0060 mknmz::make_phrase_hash
4.93 6.806 6.806 118804 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
4.78 6.594 31.383 4136 0.0016 0.0076 mknmz::count_words
3.62 4.998 44.542 4136 0.0012 0.0108 mknmz::put_field_index
3.17 4.371 4.371 4136 0.0011 0.0011
File::MMagic::checktype_data
2.21 3.049 3.275 4136 0.0007 0.0008 mailnews::mailnews_filter
2.17 2.990 26.175 95256 0.0000 0.0003 util::fclose
2.07 2.852 2.852 4136 0.0007 0.0007
File::MMagic::checktype_byfilename
1.87 2.587 7.544 107676 0.0000 0.0001 IO::File::new
1.80 2.483 11.500 4090 0.0006 0.0028 wakati::wakatize_japanese
1.62 2.232 2.232 8486 0.0003 0.0003 NKF::nkf


[WD1]

Total Elapsed Time = 337.5633 Seconds
User+System Time = 131.0533 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
17.9 23.51 23.517 107684 0.0002 0.0002 IO::Handle::close
10.5 13.86 14.203 107696 0.0001 0.0001 IO::File::open
8.02 10.51 15.590 4136 0.0025 0.0038 mknmz::make_phrase_hash
7.46 9.778 9.778 24816 0.0004 0.0004 mknmz::wordcount_sub
5.95 7.801 28.414 4136 0.0019 0.0069 mknmz::count_words
4.49 5.878 5.878 118804 0.0000 0.0000 Text::Kakasi::xs_do_kakasi
3.88 5.079 5.079 771366 0.0000 0.0000 mknmz::hash
3.39 4.441 7.070 3 1.4803 2.3567 mknmz::write_index_sub
3.15 4.127 42.067 4136 0.0010 0.0102 mknmz::put_field_index
3.05 3.996 3.996 4136 0.0010 0.0010
File::MMagic::checktype_data
2.32 3.046 3.189 4136 0.0007 0.0008 mailnews::mailnews_filter
2.29 3.000 5.254 3 1.0001 1.7514
mknmz::write_phrase_hash_sub
2.11 2.770 2.770 4136 0.0007 0.0007
File::MMagic::checktype_byfilename
1.98 2.597 2.597 104684 0.0000 0.0000 mknmz::get_last_docid
1.95 2.552 25.317 95276 0.0000 0.0003 util::fclose


[WD2]

Total Elapsed Time = 361.5060 Seconds
User+System Time = 124.7550 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
19.8 24.79 24.796 107664 0.0002 0.0002 IO::Handle::close
9.99 12.46 12.827 107676 0.0001 0.0001 IO::File::open
8.97 11.18 16.316 4136 0.0027 0.0039 mknmz::make_phrase_hash
7.97 9.948 9.948 24816 0.0004 0.0004 mknmz::wordcount_sub
5.94 7.411 27.700 4136 0.0018 0.0067 mknmz::count_words
4.87 6.070 6.070 118804 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
4.11 5.130 5.130 771366 0.0000 0.0000 mknmz::hash
3.73 4.648 43.846 4136 0.0011 0.0106 mknmz::put_field_index
3.27 4.083 4.083 4136 0.0010 0.0010
File::MMagic::checktype_data
2.37 2.952 26.841 95256 0.0000 0.0003 util::fclose
2.27 2.826 3.031 4136 0.0007 0.0007 mailnews::mailnews_filter
2.10 2.617 7.473 107676 0.0000 0.0001 IO::File::new
2.09 2.609 2.609 1 2.6090 2.6087 mknmz::write_index_sub
2.07 2.587 2.587 4136 0.0006 0.0006
File::MMagic::checktype_byfilename
1.95 2.436 2.436 8486 0.0003 0.0003 NKF::nkf


テスト環境の Windows の HDD が遅いためか、IO::Handle::close にかなり
の時間がかかっており、高速化の効果があまりでていません。

IO::Handle::close, IO::File::open の数が一致していないのは何故で
しょうねぇ。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E

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

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




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