2007年4月19日

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

寺西です。

約2,000のメールを MHonArc で HTML 化したもので、インデックス作成時間
を測定しました。

1) 測定マシン

前回インデックス作成に使用したものと同じ

2) 測定データ
http://www.namazu.org/ml.html#archive の以下のファイル

namazu-win32-users-ja 2,242通

を MHonArc で変換したもの

 メディアタイプは text/html; x-type=mhonarc


3) 測定条件

a) $ON_MEMORY_SIZE を標準(5000000), 10倍, 1/10, 1/100 のそれぞれ
b) Namazu 2.0.17(SA), 修正(SE) のそれぞれ


4) 修正内容

前回と同じ


5) 結果

・結果

$ON_MEMORY_MAX|インデックス| SA-2M SE-2M | SA-2M SE-2M
|書き出し回数| (Sec) (Sec) |
--------------+------------+---------------------+------------
50000000 | 1 | 173.6143 143.2173 | 0.913 0.754
5000000 | 3 | 190.0602 160.4737 | 1.000 0.844
500000 | 21 | 296.3588 230.5151 | 1.559 0.754
50000 | 194 | 1121.301 1054.864 | 5.900 5.550

- ただし、Namazu 2.0.17(SA-2M) で $ON_MEMORY_MAX 5000000 の処理時間
を 1.000 として比較


・参考(前回の message/rfc822 の結果)

$ON_MEMORY_MAX|インデックス| SA-2 SE-2 | SA-2 SE-2
|書き出し回数| (Sec) (Sec) |
--------------+------------+---------------------+------------
50000000 | 1 | 152.0534 123.0638 | 0.911 0.738
5000000 | 2 | 166.8537 129.4084 | 1.000 0.776
500000 | 15 | 237.9477 192.6253 | 1.426 1.154
50000 | 137 | 824.1587 711.7768 | 4.939 4.266


6) 考察

HTML化した文書数約2,000件でも SE の修正により、インデックス書き
出し回数1回の場合は約17.5%高速化しています。インデックス書き出し
回数194回の場合でも約6.0%高速化しています。標準では約15.6%高速化
しています。HTML化する前よりは効果が薄れていますが、これはインデッ
クス書き出し回数が増加したことも影響しているのでしょう。

HTML化したことで html::remove_html_elements 等の HTML 用の処理が
現れるようになりましたが、全体に占める割合としてはわずかでした。

HTML化したことでHTML用の処理が増えた分、処理時間が増加していますが、
同じ $ON_MEMORY_MAX の場合、ファイルサイズが増加したことにより、
インデックス書き出し回数が増加します。インデックス書き出し回数の増加
による処理時間の増加の方がどちらかといえば影響が強いようです。


7) 測定データ

[SA1-2M] 修正前 インデックス書き出し3回

Total Elapsed Time = 270.0702 Seconds
User+System Time = 190.0602 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
16.4 31.27 30.214 426242 0.0001 0.0001 mknmz::hash
12.4 23.64 23.603 18862 0.0013 0.0013 mknmz::wordcount_sub
8.48 16.10 45.933 2242 0.0072 0.0205 mknmz::make_phrase_hash
6.33 12.04 49.667 2242 0.0054 0.0222 mknmz::count_words
4.56 8.658 8.474 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
3.65 6.944 11.607 3 2.3146 3.8691 mknmz::write_index_sub
3.55 6.748 6.744 2288 0.0029 0.0029
File::MMagic::checktype_data
3.52 6.684 11.437 3 2.2279 3.8125
mknmz::write_phrase_hash_sub
3.31 6.288 6.268 8983 0.0007 0.0007 NKF::nkf
2.90 5.508 20.762 2242 0.0025 0.0093 mknmz::put_field_index
2.62 4.977 4.983 2242 0.0022 0.0022
mailnews::mailnews_citation_filter
2.55 4.844 6.069 4484 0.0011 0.0014 html::remove_html_elements
2.47 4.689 4.184 202277 0.0000 0.0000 mknmz::readw
2.27 4.319 4.168 60848 0.0001 0.0001 IO::File::open
1.95 3.709 3.704 2288 0.0016 0.0016
File::MMagic::checktype_byfilename


[SA2-2M] 修正前 インデックス書き出し1回

Total Elapsed Time = 195.1843 Seconds
User+System Time = 173.6143 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
18.2 31.60 30.757 426242 0.0001 0.0001 mknmz::hash
13.7 23.85 23.822 18862 0.0013 0.0013 mknmz::wordcount_sub
9.30 16.14 46.580 2242 0.0072 0.0208 mknmz::make_phrase_hash
6.56 11.38 48.914 2242 0.0051 0.0218 mknmz::count_words
4.86 8.438 8.291 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
4.00 6.949 6.945 2288 0.0030 0.0030
File::MMagic::checktype_data
3.69 6.399 6.382 8983 0.0007 0.0007 NKF::nkf
3.16 5.485 20.923 2242 0.0024 0.0093 mknmz::put_field_index
2.70 4.689 5.799 4484 0.0010 0.0013 html::remove_html_elements
2.58 4.478 4.487 2242 0.0020 0.0020
mailnews::mailnews_citation_filter
2.15 3.729 3.608 60828 0.0001 0.0001 IO::File::open
2.10 3.649 3.641 4484 0.0008 0.0008 gfilter::line_adjust_filter
1.89 3.289 3.285 2288 0.0014 0.0014
File::MMagic::checktype_byfilename
1.77 3.079 3.123 2242 0.0014 0.0014 html::weight_element
1.64 2.839 2.718 60815 0.0000 0.0000 IO::Handle::close


[SA3-2M] 修正前 インデックス書き出し21回

Total Elapsed Time = 301.5588 Seconds
User+System Time = 296.3588 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
15.6 46.31 74.280 21 2.2055 3.5371
mknmz::write_phrase_hash_sub
11.6 34.65 64.660 21 1.6503 3.0790 mknmz::write_index_sub
11.6 34.40 30.442 158718 0.0000 0.0000 mknmz::readw
10.6 31.49 30.434 426242 0.0001 0.0001 mknmz::hash
8.16 24.19 24.153 18862 0.0013 0.0013 mknmz::wordcount_sub
7.43 22.02 21.527 201246 0.0001 0.0001 mknmz::get_last_docid
5.45 16.15 46.203 2242 0.0072 0.0206 mknmz::make_phrase_hash
3.65 10.82 48.667 2242 0.0048 0.0217 mknmz::count_words
2.89 8.558 8.374 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
2.33 6.898 6.894 2288 0.0030 0.0030
File::MMagic::checktype_data
2.16 6.398 5.897 201246 0.0000 0.0000 mknmz::adjust_first_docid
2.01 5.969 5.948 8983 0.0007 0.0007 NKF::nkf
1.80 5.344 20.232 2242 0.0024 0.0090 mknmz::put_field_index
1.63 4.838 4.903 2242 0.0022 0.0022
mailnews::mailnews_citation_filter
1.52 4.504 5.659 4484 0.0010 0.0013 html::remove_html_elements


[SA4-2M] 修正前 インデックス書き出し194回

Total Elapsed Time = 1131.011 Seconds
User+System Time = 1121.301 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
35.6 400.0 569.74 194 2.0621 2.9368
mknmz::write_phrase_hash_sub
28.0 313.9 269.49 148561 0.0000 0.0000 mknmz::readw
24.7 277.3 479.30 194 1.4296 2.4706 mknmz::write_index_sub
8.20 92.00 90.927 367767 0.0003 0.0002 mknmz::get_last_docid
2.83 31.72 30.451 426242 0.0001 0.0001 mknmz::hash
2.20 24.71 24.663 18862 0.0013 0.0013 mknmz::wordcount_sub
1.47 16.52 46.536 2242 0.0074 0.0208 mknmz::make_phrase_hash
1.02 11.48 10.387 367767 0.0000 0.0000 mknmz::adjust_first_docid
0.98 10.99 48.871 2242 0.0049 0.0218 mknmz::count_words
0.75 8.427 8.207 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
0.61 6.858 6.853 2288 0.0030 0.0030
File::MMagic::checktype_data
0.55 6.178 6.153 8983 0.0007 0.0007 NKF::nkf
0.47 5.316 20.090 2242 0.0024 0.0090 mknmz::put_field_index
0.45 5.027 5.020 2242 0.0022 0.0022
mailnews::mailnews_citation_filter
0.41 4.614 5.839 4484 0.0010 0.0013 html::remove_html_elements


[SE1-2M] 修正後 インデックス書き出し3回

Total Elapsed Time = 323.6637 Seconds
User+System Time = 160.4737 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
10.4 16.74 26.815 2242 0.0075 0.0120 mknmz::make_phrase_hash
9.94 15.94 15.912 18862 0.0008 0.0008 mknmz::wordcount_sub
7.00 11.23 41.354 2242 0.0050 0.0184 mknmz::count_words
7.00 11.22 10.335 447545 0.0000 0.0000 mknmz::hash
5.31 8.518 8.371 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
4.17 6.699 6.695 2288 0.0029 0.0029
File::MMagic::checktype_data
4.03 6.474 8.667 3 2.1580 2.8891 mknmz::write_index_sub
3.95 6.339 6.322 8983 0.0007 0.0007 NKF::nkf
3.94 6.321 8.422 3 2.1071 2.8074
mknmz::write_phrase_hash_sub
3.49 5.593 21.273 2242 0.0025 0.0095 mknmz::put_field_index
3.16 5.078 5.087 2242 0.0023 0.0023
mailnews::mailnews_citation_filter
2.92 4.679 4.275 202277 0.0000 0.0000 mknmz::readw
2.90 4.648 5.609 4484 0.0010 0.0013 html::remove_html_elements
2.55 4.099 3.978 60848 0.0001 0.0001 IO::File::open
2.25 3.609 3.601 4484 0.0008 0.0008 gfilter::line_adjust_filter


[SE2-2M] 修正後 インデックス書き出し1回

Total Elapsed Time = 341.0573 Seconds
User+System Time = 143.2173 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
11.5 16.56 26.506 2242 0.0074 0.0118 mknmz::make_phrase_hash
10.7 15.38 15.343 18862 0.0008 0.0008 mknmz::wordcount_sub
7.94 11.37 10.261 447545 0.0000 0.0000 mknmz::hash
7.78 11.14 40.467 2242 0.0050 0.0180 mknmz::count_words
6.04 8.648 8.464 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
5.00 7.158 7.154 2288 0.0031 0.0031
File::MMagic::checktype_data
4.23 6.058 6.038 8983 0.0007 0.0007 NKF::nkf
3.51 5.034 20.382 2242 0.0022 0.0091 mknmz::put_field_index
3.28 4.704 5.779 4484 0.0010 0.0013 html::remove_html_elements
3.27 4.678 4.693 2242 0.0021 0.0021
mailnews::mailnews_citation_filter
2.86 4.089 3.938 60828 0.0001 0.0001 IO::File::open
2.71 3.879 3.869 4484 0.0009 0.0009 gfilter::line_adjust_filter
2.37 3.399 3.394 2288 0.0015 0.0015
File::MMagic::checktype_byfilename
2.26 3.239 3.309 2242 0.0014 0.0015 html::weight_element
2.00 2.869 5.144 60809 0.0000 0.0001 util::fclose


[SE3-2M] 修正後 インデックス書き出し21回

Total Elapsed Time = 239.0751 Seconds
User+System Time = 230.5151 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
18.6 42.94 59.237 21 2.0448 2.8208
mknmz::write_phrase_hash_sub
14.7 33.93 29.178 158718 0.0000 0.0000 mknmz::readw
14.3 32.97 45.966 21 1.5702 2.1888 mknmz::write_index_sub
7.32 16.86 26.178 2242 0.0075 0.0117 mknmz::make_phrase_hash
6.85 15.79 15.743 18862 0.0008 0.0008 mknmz::wordcount_sub
4.99 11.49 40.161 2242 0.0051 0.0179 mknmz::count_words
4.78 11.01 9.677 447545 0.0000 0.0000 mknmz::hash
3.53 8.128 7.907 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
3.04 6.998 6.993 2288 0.0031 0.0031
File::MMagic::checktype_data
2.70 6.228 6.203 8983 0.0007 0.0007 NKF::nkf
2.35 5.426 19.420 2242 0.0024 0.0087 mknmz::put_field_index
2.00 4.614 5.529 4484 0.0010 0.0012 html::remove_html_elements
1.87 4.317 4.320 2242 0.0019 0.0019
mailnews::mailnews_citation_filter
1.77 4.089 3.907 61028 0.0001 0.0001 IO::File::open
1.61 3.709 3.697 4484 0.0008 0.0008 gfilter::line_adjust_filter


[SE4-2M] 修正後 インデックス書き出し194回

Total Elapsed Time = 1159.684 Seconds
User+System Time = 1054.864 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
38.4 405.5 557.10 194 2.0905 2.8717
mknmz::write_phrase_hash_sub
29.8 315.2 285.61 148561 0.0000 0.0000 mknmz::readw
26.3 277.3 412.18 194 1.4298 2.1247 mknmz::write_index_sub
1.68 17.75 27.745 2242 0.0079 0.0124 mknmz::make_phrase_hash
1.44 15.21 15.182 18862 0.0008 0.0008 mknmz::wordcount_sub
1.09 11.51 41.144 2242 0.0051 0.0184 mknmz::count_words
1.06 11.13 10.245 447545 0.0000 0.0000 mknmz::hash
0.83 8.728 8.581 74410 0.0001 0.0001 Text::Kakasi::xs_do_kakasi
0.63 6.629 6.625 2288 0.0029 0.0029
File::MMagic::checktype_data
0.60 6.329 6.312 8983 0.0007 0.0007 NKF::nkf
0.49 5.164 21.493 2242 0.0023 0.0096 mknmz::put_field_index
0.45 4.758 4.797 2242 0.0021 0.0021
mailnews::mailnews_citation_filter
0.41 4.329 4.204 62758 0.0001 0.0001 IO::File::open
0.40 4.249 5.519 4484 0.0009 0.0012 html::remove_html_elements
0.35 3.739 3.731 4484 0.0008 0.0008 gfilter::line_adjust_filter
--
=====================================================================
寺西 忠勝(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月19日 06:25
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/57534
トラックバック
コメント
コメントする




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