forked from mruby/mruby
-
Notifications
You must be signed in to change notification settings - Fork 4
RegexpTesting
kouki-o-iij edited this page Mar 22, 2013
·
16 revisions
- iij/mruby iij と比較してデグレードが発生しないこと
- メモリリークをしていないこと
- 大量のオブジェクト生成時、大量のテキストマッチング時に異常が発生しないこと
- ここらへんも加味すること https://github.com/iij/mruby/issues/77
| count | before | after |
|---|---|---|
| 3000 | 2552kb | 1368kb |
| 5000 | 2552kb | 1364kb |
| 10000 | 2552kb | 1364kb |
| 15000 | 2552kb | 1368kb |
| 20000 | 2552kb | 1368kb |
| 50000 | 2552kb | 1368kb |
| 100000 | 2552kb | 1368kb |
| count | before | after |
|---|---|---|
| 3000 | 2556kb | 1420kb |
| 5000 | 2556kb | 1424kb |
| 10000 | 2556kb | 1420kb |
| 15000 | 2556kb | 1424kb |
| 20000 | 2556kb | 1420kb |
| 50000 | 2556kb | 1420kb |
| 100000 | 2556kb | 1420kb |
| count | before | after |
|---|---|---|
| 3000 | 2640kb | 1476kb |
| 5000 | 2640kb | 1480kb |
| 10000 | 2640kb | 1480kb |
| 15000 | 2640kb | 1476kb |
| 20000 | 2640kb | 1480kb |
| 50000 | 2640kb | 1480kb |
| 100000 | 2640kb | 1476kb |
- iij/mruby mruby-support-regexp の File は mruby-support-io を利用
- alice.txt は ここから取得(http://gaia.cs.umass.edu/wireshark-labs/alice.txt)
- alice.txt 総行数: 3598
- (the|The)マッチ行数: 1555
- ソースコード
/usr/bin/time -f "%M kb" ../mruby-iij/bin/mruby bench_regex.rb
test = 0
t1 = Time.now
100.times {
10000.times {
test += 1
re = Regexp.new(test.to_s)
e = re.match(test.to_s)
}
GC.start
}
puts "Regexp #{Time.now - t1} sec"| repo | time | memory |
|---|---|---|
| iij/mruby | 45.655449 sec | 3164 kb |
| mruby-support-regexp | 10.551873 sec | 1760 kb |
| ruby1.9.3 | 3.325488378 sec | 6160 kb |