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

Raspunde prin e-mail lui