I've spent the last 2 hours trying to find a way to benchmark syntax.
The easiest way I found to reproduce the speed regression is [1]
included patches: 1148
results:
engine 0 0.568 total
engine 1 0.194 total (1/3 of time)
engine 2 0.564 total
$COLUMS = 146
$LINES = 40
(same happens increasing range from 1-10 to 1-100)
You can find a repository I started to benchmark regressions here, its
using a very similar test now. The first attemps I tried did not show
this bad expected result:
https://github.com/MarcWeber/vim-regex2-regression-tests
results (first number is regexpengine)
ruby 0 3.20776391029
ruby 1 0.86368894577
ruby 2 3.3688378334
improvement: -290.052211 (almost 3 times slower !!)
vim 0 0.0999271869659
vim 1 0.104474067688
vim 2 0.0911228656769
improvement: 12.779441 (12 % faster)
This also uses syntime and dumps the results to a file.
@Bram: If you send me the list of files you got for testing I'll add them.
@Bram: the patch level in source.c is not up to date?
Which is the best way to submit such regression tests to Vim?
Marc Weber
[1]
test(){
time vim -u NONE -U NONE -N \
test2.rb \
--cmd 'set regexpengine='$1 \
--cmd 'filetype plugin on' \
--cmd 'syn on' \
-c 'for x in range(1,10)| redraw! |endfor' \
-c 'quit';
}
to run it type this into your shell:
test 0; test 1; test 2
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.