1*ad48e6c1SBram Moolenaar" Test for benchmarking the RE engine 2*ad48e6c1SBram Moolenaar 3*ad48e6c1SBram Moolenaarsource check.vim 4*ad48e6c1SBram MoolenaarCheckFeature reltime 5*ad48e6c1SBram Moolenaar 6*ad48e6c1SBram Moolenaarfunc Measure(file, pattern, arg) 7*ad48e6c1SBram Moolenaar for re in range(3) 8*ad48e6c1SBram Moolenaar let sstart = reltime() 9*ad48e6c1SBram Moolenaar let before = ['set re=' .. re] 10*ad48e6c1SBram Moolenaar let after = ['call search("' .. escape(a:pattern, '\\') .. '", "", "", 10000)'] 11*ad48e6c1SBram Moolenaar let after += ['quit!'] 12*ad48e6c1SBram Moolenaar let args = empty(a:arg) ? '' : a:arg .. ' ' .. a:file 13*ad48e6c1SBram Moolenaar call RunVim(before, after, args) 14*ad48e6c1SBram Moolenaar let s = 'file: ' .. a:file .. ', re: ' .. re .. 15*ad48e6c1SBram Moolenaar \ ', time: ' .. reltimestr(reltime(sstart)) 16*ad48e6c1SBram Moolenaar call writefile([s], 'benchmark.out', "a") 17*ad48e6c1SBram Moolenaar endfor 18*ad48e6c1SBram Moolenaarendfunc 19*ad48e6c1SBram Moolenaar 20*ad48e6c1SBram Moolenaarfunc Test_Regex_Benchmark() 21*ad48e6c1SBram Moolenaar call Measure('samples/re.freeze.txt', '\s\+\%#\@<!$', '+5') 22*ad48e6c1SBram Moolenaarendfunc 23*ad48e6c1SBram Moolenaar 24*ad48e6c1SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 25