Ola!,
You are rigth with the buffering effect, however...
I made the following experiments on a HPUX machine this time. (Do not
have acces to the other one at the momont)
1. made a copy of the 600MB file, and indeed first reading takes
longer with vim:
first reading:
XXXX>time vim --noplugin -u ./.vimrc XXXXXXX/tmp/cucu.bebe -c":q"
39.07s real 26.18s user 10.72s system
second reading:
XXXX>time vim --noplugin -u ./.vimrc XXXXXXX/tmp/cucu.bebe -c":q"
33.13s real 25.27s user 7.29s system
2. made again another copy, and this time reading with my smal
program:
first reading:
time ./load XXXXX/tmp/cucu.bebe 10000
total read 67706*10000=677060000 1.28s real 0.03s user
1.23s system
second reading
XXXX>time ./load XXXX/tmp/cucu.bebe 10000
total read 67706*10000=677060000 1.25s real 0.04s user
1.21s system
with grep
first:
XXXX>time gr XXXXXXXXXXXXXXXXXXX XXXXX/tmp/cucu.bebe
1.44s real 0.28s user 1.10s system
second:
1.41s real 0.29s user 1.09s system
and again vim:
XXXX>time vim --noplugin -u ./.vimrc XXXXXXX/tmp/cucu.bebe -c":q"
41.77s real 26.25s user 10.81s system
So, in conclusion, the buffer effect is there, but is not significant.
Vim spends for some reason 10 times more in kernel for simple reading.
And a lot in userspace. I understand that it takes time to build the
data structure for the internal representation of the text, but I have
the feeling that there is space for optimization. I would be happy to
help, if the owner of the project gives some signes...
VIM IS THE BEST EDITOR
Misi
On Jun 17, 9:32 am, "Antonio Colombo" <[EMAIL PROTECTED]> wrote:
> Hi misi,
>
> > you almost convinced me with the disk time...
>
> > but that is not true. Reading the same file with a command like grep,
> > takes 567msecs.
> > try
>
> > time grep XXXXXXXXXXX ./all3.c #this will not find anything, but will
> > process all the file.. and no mmap is used!!!!!
> > the result is:
>
> The problem with "the time it takes to read" in Unix is elusive.
> It depends on the number of real physical reads Unix has to do.
> If the data is already in the buffers, the performance is much better.
> Example (with a 27MB file I had not been using in advance):
>
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m1.342s
> user 0m0.028s
> sys 0m0.048s
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m0.093s
> user 0m0.040s
> sys 0m0.024s
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m0.088s
> user 0m0.028s
> sys 0m0.036s
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m0.082s
> user 0m0.032s
> sys 0m0.028s
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m0.062s
> user 0m0.016s
> sys 0m0.028s
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m0.055s
> user 0m0.024s
> sys 0m0.020s
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m0.077s
> user 0m0.024s
> sys 0m0.036s
> (aca) root /e/ita > time grep zxdfgghjjkk voci.txt
>
> real 0m0.049s
> user 0m0.020s
> sys 0m0.024s
> (aca) root /e/ita > ll voci.txt
> -rwxrwxr-x 1 root users 27338279 15 mag 2007 voci.txt
>
> I don't know in which conditions you performed your tests,
> but ideally you should reboot once per each test, and
> perform the test without having used the file in advance,
> in order to be sure that the Unix buffers are empty (of
> the tested file).
>
> Then a comparison can be safely used.
>
> Cheers, Antonio
> --
> /||\ | Antonio Colombo
> / || \ | [EMAIL PROTECTED]
> / () \ | [EMAIL PROTECTED]
> (___||___) | [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---