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.


Raspunde prin e-mail lui