The "J" command seems to have a complexity bug when given a large numeric
argument, eg 100000J
eg:
% yes | head -100000 > vimtest
% time vim vimtest
<Joined all lines using 99999J>
17.2u 0.0s 2:29.74 11.5% 0+0k 0+10232io 0pf+0w
% yes | head -200000 > vimtest
% time vim vimtest
<Joined all lines using 199999J>
68.8u 0.4s 1:41.22 68.3% 0+0k 0+39648io 0pf+0w
ie, doubling the number of lines increased the runtime by a factor of 4
exactly - seems like there is a O(N^2) component to the algorithm.
I've checked out a copy under SVN, found the O(N^2) code and hacked up
a possible fix, but haven't been able to test it because I have some
shared library problem - I can create vim7/src/vim but when I run it
(even the original version) I get:
ld.so.1: vim: fatal: libintl.so.3: open failed: No such file or directory
Killed
We have /local/solaris86/lib/libintl.so.3 but in /usr/lib there is no ".3"
version. We used to have good sysadmin support, but no longer...
Do you suggest I
a) Keep stuffing around here on my own (I could copy everything to my laptop
running Ubuntu I guess). Any suggestions welcome...
b) Post the (untested) code here (there isn't much and it needs some
cleaning up and checking by someone more familiar with Vim anyway).
lee
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---