1
0
forked from aniani/vim
Files
vim/src/testdir/bench_re_freeze.vim
Bram Moolenaar fda3729a06 updated for version 7.4.497
Problem:    With some regexp patterns the NFA engine uses many states and
            becomes very slow.  To the user it looks like Vim freezes.
Solution:   When the number of states reaches a limit fall back to the old
            engine. (Christian Brabandt)
2014-11-05 14:27:36 +01:00

14 lines
487 B
VimL

"Test for benchmarking the RE engine
so small.vim
if !has("reltime") | finish | endif
func! Measure(file, pattern, arg)
for re in range(3)
let sstart=reltime()
let cmd=printf("../vim -u NONE -N --cmd ':set re=%d'".
\ " -c 'call search(\"%s\", \"\", \"\", 10000)' -c ':q!' %s", re, escape(a:pattern, '\\'), empty(a:arg) ? '' : a:arg)
call system(cmd. ' '. a:file)
$put =printf('file: %s, re: %d, time: %s', a:file, re, reltimestr(reltime(sstart)))
endfor
endfunc