On 14 June 2013, Ben Fritz <fritzophre...@gmail.com> wrote: > On Friday, June 14, 2013 7:58:48 AM UTC-5, Christian Wellenbrock > wrote: > > I attached a yaml file as example. Please open it with vim to test > > the highlighting speed. Scolling and searching is very slow. Tested > > on vim 7.3.1106 > > 1106 is very old news for the new regex engine. At that point Bram was > still implementing basic functionality. All the speed improvements > came later. Please try again with 1189 or later.
With 7.3.1188 highlighting is still >10 times slower with the re=0 compared to re=1. FWIW. /lcd re = 0: ======= TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN 0.131778 463 0 0.000444 0.000285 yamlFloat \%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9 0.128999 463 0 0.000414 0.000279 yamlInteger \%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_ 0.081751 746 716 0.000151 0.000110 yamlPlainScalar \%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF \t]\)\@!\p 0.058324 746 433 0.000152 0.000078 yamlBlockMappingKey ^\s*\zs\%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF \t] 0.003512 463 0 0.000014 0.000008 yamlTimestamp \%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt 0.001615 463 0 0.000009 0.000003 yamlComment \%\(^\|\s\)# 0.001174 463 0 0.000009 0.000003 yamlBlockCollectionItemStart ^\s*\zs-\%(\s\+-\)*\s 0.001145 463 0 0.000003 0.000002 yamlBlockMappingMerge ^\s*\zs<<\ze:\%(\s\|$\) 0.000697 433 433 0.000007 0.000002 yamlKeyValueDelimiter \s*: 0.000618 433 433 0.000007 0.000001 yamlKeyValueDelimiter \s*: 0.000395 463 0 0.000008 0.000001 level14 { 0.000385 463 0 0.000002 0.000001 yamlFlowCollection \[ 0.000369 463 0 0.000002 0.000001 yamlConstant \<\~\> 0.000353 463 0 0.000007 0.000001 level9 ( 0.000345 463 0 0.000007 0.000001 level4 \[ 0.000344 463 0 0.000007 0.000001 level12 ( 0.000341 463 0 0.000001 0.000001 yamlMappingKeyStart ?\ze\s 0.000340 463 0 0.000002 0.000001 yamlNodeTag !<\%(%\x\x\|\%(\w\|-\)\|[#/;?:@&=+$,.!~*''()\[\]]\)\+>\|\% 0.000338 463 0 0.000009 0.000001 level6 \[ 0.000335 463 0 0.000003 0.000001 level11 ( 0.000334 463 0 0.000003 0.000001 level12 \[ 0.000334 463 0 0.000008 0.000001 level1 { 0.000331 463 0 0.000002 0.000001 level3 { 0.000331 463 0 0.000003 0.000001 level6 { 0.000331 463 0 0.000006 0.000001 level9 { 0.000330 463 0 0.000006 0.000001 level4 { 0.000329 463 0 0.000006 0.000001 yamlAlias \*\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)\+ 0.000329 463 0 0.000002 0.000001 level10 \[ 0.000328 463 0 0.000006 0.000001 level7 { 0.000327 463 0 0.000006 0.000001 yamlFlowString " 0.000327 463 0 0.000001 0.000001 level6 ( 0.000327 463 0 0.000004 0.000001 level1 \[ 0.000327 463 0 0.000002 0.000001 level13 \[ 0.000326 463 0 0.000001 0.000001 level12 { 0.000324 463 0 0.000006 0.000001 yamlFlowMapping { 0.000324 463 0 0.000001 0.000001 yamlDocumentStart ^---\ze\%(\s\|$\) 0.000324 463 0 0.000002 0.000001 level3 \[ 0.000322 463 0 0.000002 0.000001 level2 ( 0.000322 463 0 0.000002 0.000001 level8 ( 0.000321 463 0 0.000002 0.000001 level3 ( 0.000321 463 0 0.000002 0.000001 level4 ( 0.000320 463 0 0.000006 0.000001 yamlAnchor &\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)\+ 0.000320 463 0 0.000002 0.000001 level9 \[ 0.000320 463 0 0.000002 0.000001 level5 { 0.000319 463 0 0.000008 0.000001 level2 \[ 0.000319 463 0 0.000002 0.000001 level2 { 0.000317 463 0 0.000001 0.000001 yamlDirective ^\ze%\%(\%([\n\r\uFEFF \t]\)\@!\p\)\+\s\+ 0.000317 463 0 0.000002 0.000001 level1 ( 0.000317 463 0 0.000002 0.000001 level14 ( 0.000317 463 0 0.000002 0.000001 level14 \[ 0.000317 463 0 0.000002 0.000001 level8 { 0.000317 463 0 0.000002 0.000001 level13 { 0.000316 463 0 0.000002 0.000001 yamlFlowString ' 0.000316 463 0 0.000003 0.000001 level10 { 0.000315 463 0 0.000002 0.000001 level5 ( 0.000315 463 0 0.000002 0.000001 level11 { 0.000314 463 0 0.000002 0.000001 level7 \[ 0.000313 463 0 0.000006 0.000001 yamlDocumentEnd ^\.\.\.\ze\%(\s\|$\) 0.000312 463 0 0.000003 0.000001 level7 ( 0.000312 463 0 0.000002 0.000001 level10 ( 0.000311 463 0 0.000002 0.000001 level13 ( 0.000310 463 0 0.000002 0.000001 level8 \[ 0.000310 463 0 0.000001 0.000001 level11 \[ 0.000303 463 0 0.000001 0.000001 level5 \[ 0.427274 30138 re = 1: ======= TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN 0.004673 463 0 0.000020 0.000010 yamlFloat \%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9 0.004320 746 716 0.000017 0.000006 yamlPlainScalar \%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF \t]\)\@!\p 0.004132 463 0 0.000017 0.000009 yamlInteger \%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_ 0.003056 463 0 0.000015 0.000007 yamlNodeTag !<\%(%\x\x\|\%(\w\|-\)\|[#/;?:@&=+$,.!~*''()\[\]]\)\+>\|\% 0.002468 746 433 0.000013 0.000003 yamlBlockMappingKey ^\s*\zs\%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF \t] 0.001473 463 0 0.000007 0.000003 yamlComment \%\(^\|\s\)# 0.001201 463 0 0.000009 0.000003 yamlTimestamp \%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt 0.000691 463 0 0.000004 0.000001 yamlBlockMappingMerge ^\s*\zs<<\ze:\%(\s\|$\) 0.000629 463 0 0.000005 0.000001 yamlBlockCollectionItemStart ^\s*\zs-\%(\s\+-\)*\s 0.000510 433 433 0.000002 0.000001 yamlKeyValueDelimiter \s*: 0.000371 463 0 0.000003 0.000001 level14 { 0.000357 433 433 0.000004 0.000001 yamlKeyValueDelimiter \s*: 0.000351 463 0 0.000008 0.000001 yamlFlowMapping { 0.000350 463 0 0.000002 0.000001 level7 ( 0.000348 463 0 0.000004 0.000001 level13 ( 0.000343 463 0 0.000007 0.000001 yamlAlias \*\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)\+ 0.000343 463 0 0.000002 0.000001 level4 ( 0.000343 463 0 0.000001 0.000001 level10 ( 0.000342 463 0 0.000002 0.000001 yamlConstant \<\~\> 0.000342 463 0 0.000002 0.000001 level2 { 0.000340 463 0 0.000002 0.000001 level12 { 0.000340 463 0 0.000002 0.000001 level13 { 0.000339 463 0 0.000006 0.000001 level7 { 0.000337 463 0 0.000002 0.000001 level12 \[ 0.000336 463 0 0.000006 0.000001 level4 \[ 0.000333 463 0 0.000001 0.000001 level5 \[ 0.000333 463 0 0.000007 0.000001 level5 { 0.000332 463 0 0.000002 0.000001 level1 ( 0.000331 463 0 0.000002 0.000001 yamlFlowCollection \[ 0.000331 463 0 0.000002 0.000001 level11 ( 0.000331 463 0 0.000002 0.000001 level11 \[ 0.000331 463 0 0.000006 0.000001 level6 { 0.000330 463 0 0.000002 0.000001 level2 ( 0.000329 463 0 0.000002 0.000001 level8 \[ 0.000327 463 0 0.000007 0.000001 yamlAnchor &\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)\+ 0.000327 463 0 0.000002 0.000001 level13 \[ 0.000327 463 0 0.000002 0.000001 level10 { 0.000326 463 0 0.000002 0.000001 level2 \[ 0.000326 463 0 0.000001 0.000001 level4 { 0.000326 463 0 0.000002 0.000001 level8 { 0.000325 463 0 0.000002 0.000001 yamlFlowString ' 0.000324 463 0 0.000002 0.000001 yamlDirective ^\ze%\%(\%([\n\r\uFEFF \t]\)\@!\p\)\+\s\+ 0.000324 463 0 0.000002 0.000001 level10 \[ 0.000322 463 0 0.000002 0.000001 level1 \[ 0.000322 463 0 0.000006 0.000001 level14 \[ 0.000322 463 0 0.000002 0.000001 level1 { 0.000321 463 0 0.000002 0.000001 level8 ( 0.000320 463 0 0.000002 0.000001 level9 ( 0.000319 463 0 0.000002 0.000001 yamlMappingKeyStart ?\ze\s 0.000319 463 0 0.000002 0.000001 level3 { 0.000319 463 0 0.000002 0.000001 level9 { 0.000318 463 0 0.000002 0.000001 yamlDocumentStart ^---\ze\%(\s\|$\) 0.000318 463 0 0.000002 0.000001 level11 { 0.000316 463 0 0.000002 0.000001 level5 ( 0.000314 463 0 0.000007 0.000001 yamlFlowString " 0.000313 463 0 0.000002 0.000001 level3 \[ 0.000312 463 0 0.000002 0.000001 level7 \[ 0.000311 463 0 0.000001 0.000001 level12 ( 0.000308 463 0 0.000002 0.000001 level9 \[ 0.000307 463 0 0.000006 0.000001 level14 ( 0.000307 463 0 0.000002 0.000001 level6 \[ 0.000305 463 0 0.000006 0.000001 level3 ( 0.000305 463 0 0.000002 0.000001 level6 ( 0.000300 463 0 0.000001 0.000001 yamlDocumentEnd ^\.\.\.\ze\%(\s\|$\) 0.040846 30138 -- -- 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 vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.