Hi Bram and Yegappan,

Yegappan, You were right -saving the qf_last makes a big difference. I probably 
checked your patch after using many quickfix operations (see below).

Let me summarize the problems found so far using the agrep plugin:

1. SEGV crashes - fixed
2. Vim hangs while quickfix window is opened - fixed.
3. GUI hangs - fixed
4. Timer issue in the GUI - fixed

5. quickfix is slow in general - it's much better with Yegappan's patch or 1881 
but Vim is still not as responsive as it is when using the same search without 
quickfix (with Agrep window). Following are the top lines from the profiler 
log, in case you'll see something that can be optimized:

  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 11.34      0.11     0.11    11084     0.01     0.01  buf_valid
 10.31      0.21     0.10    11378     0.01     0.01  do_cmdline
  5.15      0.26     0.05  9912382     0.00     0.00  otherfile_buf
  5.15      0.31     0.05   452997     0.00     0.00  get_func_tv
  5.15      0.36     0.05    11083     0.00     0.02  buflist_new
  5.15      0.41     0.05    11082     0.00     0.01  buflist_findname_stat
  5.15      0.46     0.05     2131     0.02     0.02  buflist_findnr

6. Agrep become very slow after using the quickfix list many times. Well, this 
is what I see in the profiler log:
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 55.98      4.21     4.21    33246     0.13     0.13  qf_mark_adjust  <<<
 12.10      5.12     0.91    50685     0.02     0.02  buf_valid
  6.38      5.60     0.48    11091     0.04     0.05  buflist_findpat
  5.05      5.98     0.38    13256     0.03     0.03  buflist_findnr

It looks like qf_mark_adjust is called each time line is appended to a buffer 
using 'out_io': 'buffer' for each entry in any quickfix list available. Can we 
avoid this?

Thanks,
Ramel

-- 
-- 
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/d/optout.

Raspunde prin e-mail lui