On 8 June 2013, Bram Moolenaar <[email protected]> wrote:
> 
> Marc Weber wrote:
> 
> > Try this file:
> > https://raw.github.com/jeremywohl/iphone-scripts/master/appstore_reviews
> > 
> > copy paste it into a .rb file. This feel very slow to me.  I can
> > watch Vim drawing blocks of lines. Using regexpengine=1 everything
> > is as fast as ever.
[...]

> Please sync to head.  Patches 7.3.1137 and others have improved
> performance a lot.  I was just looking at Javascript highlighting and
> there the new engine is almost twice as fast.
> 
> I am still looking to find places where the new engine is slow.
> Please use :syntime to find out.
[...]

    Here are some data for that particular file, with 7.3.1145:

re = 0:
=======

  TOTAL      COUNT  MATCH   SLOWEST     AVERAGE   NAME               PATTERN
  0.088770   127    0       0.005085    0.000699  rubyPredefinedConstant 
\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(RUBY_VERSION\|STDERR\|
  0.087427   127    0       0.005046    0.000688  rubyPredefinedConstant 
\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(DATA\|FALSE\|NIL\|RUBY
  0.087058   127    0       0.005030    0.000685  rubyPredefinedConstant 
\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(MatchingData\|ARGF\|AR
  0.018423   127    0       0.000656    0.000145  rubySymbol         
\%([{(,]\_s*\)\@<=\l\w*[!?]\=::\@!
  0.017374   130    5       0.000838    0.000134  rubySymbol         
[]})\"':]\@<!\h\w*[!?]\=:\s\@=
  0.009445   131    4       0.000376    0.000072  rubyConditionalExpression 
\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<[_[:lower:]
  0.004042   435    313     0.000025    0.000009  rubySymbol         
[]})\"':]\@<!:\h\w*\%([?!=]>\@!\)\=
  0.003493   127    0       0.000084    0.000028  rubyAttribute      
\%(\%(^\|;\)\s*\)\@<=attr\>\(\s*[.=]\)\@!
  0.002674   191    71      0.000065    0.000014  rubyConstant       
\%(\%([.@$]\@<!\.\)\@<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=\
  0.002321   279    157     0.000025    0.000008  rubySymbol         
[]})\"':]\@<!:\%(\$\|@@\=\)\=\h\w*
  0.002212   128    2       0.000094    0.000017  rubySymbol         
[]})\"':]\@<!:\%(\^\|\~\|<<\|<=>\|<=\|<\|===\|==\|=\~\|>>\
  0.002023   127    0       0.000086    0.000016  rubySymbol         
[]})\"':]\@<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)
  0.002018   127    0       0.000086    0.000016  rubySymbol         
[]})\"':]\@<!:\"
  0.002012   127    0       0.000086    0.000016  rubySymbol         
[]})\"':]\@<!:'
  0.001915   134    8       0.000466    0.000014  rubyRegexp         
\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|wh
  0.001806   228    105     0.000031    0.000008  rubyInteger        
\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0[dD]\)\=\%(0\|[1-9]\
  0.001765   127    0       0.000163    0.000014  rubyFloat          
\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)
  0.001670   127    0       0.000156    0.000013  rubyInteger        
\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[bB][01]\+\%(_[01]\+\)*
  0.001645   127    0       0.000156    0.000013  rubyInteger        
\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[oO]\=\o\+\%(_\o\+\)*\>
  0.001642   127    0       0.000156    0.000013  rubyInteger        
\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[xX]\x\+\%(_\x\+\)*\>
[...]
  0.406195   27145


re = 1:
=======

  TOTAL      COUNT  MATCH   SLOWEST     AVERAGE   NAME               PATTERN
  0.004530   127    0       0.000087    0.000036  rubyPredefinedConstant 
\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(RUBY_VERSION\|STDERR\|
  0.004154   127    0       0.000080    0.000033  rubyPredefinedConstant 
\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(DATA\|FALSE\|NIL\|RUBY
  0.003814   127    0       0.000075    0.000030  rubyPredefinedConstant 
\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(MatchingData\|ARGF\|AR
  0.002186   435    313     0.000018    0.000005  rubySymbol         
[]})\"':]\@<!:\h\w*\%([?!=]>\@!\)\=
  0.001579   127    0       0.000082    0.000012  rubySymbol         
\%([{(,]\_s*\)\@<=\l\w*[!?]\=::\@!
  0.001478   191    71      0.000027    0.000008  rubyConstant       
\%(\%([.@$]\@<!\.\)\@<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=\
  0.001245   130    5       0.000054    0.000010  rubySymbol         
[]})\"':]\@<!\h\w*[!?]\=:\s\@=
  0.001229   228    105     0.000021    0.000005  rubyInteger        
\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0[dD]\)\=\%(0\|[1-9]\
  0.001126   127    0       0.000023    0.000009  rubyFloat          
\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)
  0.001112   279    157     0.000011    0.000004  rubySymbol         
[]})\"':]\@<!:\%(\$\|@@\=\)\=\h\w*
  0.001092   127    0       0.000020    0.000009  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(public\|require\|raise\|throw
  0.001048   127    0       0.000022    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(load\|loop\|private\|proc\|pr
  0.001011   127    0       0.000022    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(alias\|and\|begin\|break\|cas
  0.001011   127    0       0.000022    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(undef\|unless\|until\|when\|w
  0.001007   127    0       0.000019    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(attr_writer\|autoload\|callcc
  0.000999   127    0       0.000019    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(not\|or\|redo\|rescue\|retry\
  0.000995   130    3       0.000019    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(elsif\|end\|ensure\|false\|fo
  0.000982   127    0       0.000019    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(extend\|fail\|fork\|include\|
  0.000970   127    0       0.000018    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(abort\|at_exit\|attr\|attr_ac
  0.000964   127    0       0.000021    0.000008  rubyKeywordAsMethod 
\%(\%(\.\@<!\.\)\|::\)\_s*\%(eval\|class_eval\|instance_ev
  0.000958   131    4       0.000033    0.000007  rubyConditionalExpression 
\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<[_[:lower:]
  0.000828   475    392     0.000006    0.000002  rubyLocalVariableOrMethod 
\<[_[:lower:]][_[:alnum:]]*[?!=]\=
[...]
  0.064839   27145


    /lcd

-- 
-- 
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.


Raspunde prin e-mail lui