Mercurial > hg > Papers > 2011 > prosym-shinya
changeset 11:59d695a30f5e
modify bench-result
author | Ryoma SHINYA <shinya@firefly.cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 06 Jan 2011 23:49:31 +0900 |
parents | 99e1c7d2acee |
children | 107d09e097d8 |
files | presen/index.html |
diffstat | 1 files changed, 46 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/index.html Thu Jan 06 22:35:43 2011 +0900 +++ b/presen/index.html Thu Jan 06 23:49:31 2011 +0900 @@ -238,10 +238,10 @@ </div> <!-- PAGE --> <div class="slide"> - <h1>性能評価: vs GNU grep.</h1> + <h1>性能評価: vs other grep.</h1> <ul> - <li>本実装により生成したCコードとGNU grep 2.6.3/2.5.4 の検索時間を計測(変換/コンパイル時間も含む).</li> - <li>生成コード, GNU grep は共にGCC 4.4.1(-O3) でコンパイル.</li> + <li>本実装により生成したCbCコードとGNU grep 2.7, Google RE2, cgrep との検索時間を計測(変換/コンパイル時間も含む).</li> + <li>生成コード, GNU grep は共にGCC 4.5.0(-O3) でコンパイル.</li> <li>検索テキスト: Wikipedia 日本語版全記事 (UTF-8, 8000万行) </li> <li> 3つのパターンによるベンチマーク.<br/> @@ -277,33 +277,60 @@ </div> <!-- PAGE --> <div class="slide"> - <h1>テストケース</h1> + <h1>ベンチマーク: fixed-string</h1> <ul> <li> <strong>fixed-string</strong> - 固定文字列でのマッチング<br/> パターン : "<blue>Wikipedia</blue>" - <a href="pix/fixed-string.png" target="blank">図</a><br/> - マッチ行数: 348936行 + マッチ行数: 348936行<br/><br/> + マッチ時間: </li> + <table id="tbcom" style="margin: auto;"> + <tr> + <th>本実装</th><th>GNU grep</th><th>cgrep</th><th>Google RE2</th> + </tr> + <tr> + <td>1.57(+0.12) s</td><td>2.59 s</td><td>1.89 s</td><td>30.10 s</td> + </tr> + </table> + </ul> + </div> + <div class="slide"> + <h1>ベンチマーク: simple-regex</h1> + <ul> <li> <strong>simple-regex</strong> - 単純な正規表現でのマッチング<br/> - <span class="incremental">Wikipediaの記事のカテゴリタグ記述にマッチ</span><br/> - パターン : "<blue>^\*+ \[\[</blue>" - <a href="pix/simple-regex.png" target="blank">図</a><br/> - マッチ行数: 1503行 + パターン : "<blue style='font-size: 70%;'>(Python|Perl|Pascall|Prolog|PHP|Ruby|Haskell|Lisp|Scheme)</blue>" - <a href="pix/complex-regex.png" target="blank">図</a><br/> + マッチ行数: 15030行<br/><br/> + マッチ時間 </li> + <table id="tbcom" style="margin: auto;"> + <tr> + <th>本実装</th><th>GNU grep</th><th>cgrep</th><th>Google RE2</th> + </tr> + <tr> + <td>4.51(+0.41) s</td><td>15.48 s</td><td>6.42 s</td><td>16.83 s</td> + </tr> + </table> + </ul> + </div> + <div class="slide"> + <h1>ベンチマーク: complex-regex</h1> + <ul> <li> <strong>complex-regex</strong> - 複雑な正規表現でのマッチング<br/> - パターン : "<blue style='font-size: 70%;'>(Python|Perl|Pascall|Prolog|PHP|Ruby|Haskell|Lisp|Scheme)</blue>" - <a href="pix/complex-regex.png" target="blank">図</a><br/> - マッチ行数: 3439028行 + パターン : "<blue style='font-size: 70%;'>http://((([a-zA-Z0-9]|[a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9])\.)*([a-zA-Z]|[a-zA-Z][-a-zA-Z0-9]*[a-zA-Z0-9])\.?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)(:[0-9]*)?(/([-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(;([-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*(/([-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(;([-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)*(\?([-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?)?</blue>" - <a href="pix/complex-regex.png" target="blank">図</a><br/> + マッチ行数: 110411行<br/><br/> + マッチ時間: </li> - </ul> - </div> - <!-- PAGE --> - <div class="slide"> - <h1>性能評価: 結果</h1> - <img src="pix/bench_grep.png" style="height: 11em;"/> - <ul> - <li class="incremental">fixed-stringでは, 固定文字列フィルタの差が大きい.</li> - <li class="incremental">complex-regexでは, 本実装がGNU grepより高速な結果を出した. *Repeat: コード生成, コンパイル時間も含む.</li> + <table id="tbcom" style="margin: auto;"> + <tr> + <th>本実装</th><th>GNU grep</th><th>cgrep</th><th>Google RE2</th> + </tr> + <tr> + <td>2.20(+0.40) s</td><td>51.43 s</td><td>2.62 s</td><td>85.12 s</td> + </tr> + </table> </ul> </div> <!-- PAGE -->