Re: [BUG] unpacking zip archives horribly slow

>When I press enter in zip archive, mark some files and press f5 (copy)
>to extract them, it takes about 3 second for each file (well, on a
>486DX4/100, but running "unzip" is much faster, so it's not
>caused just by slow cpu)
>I think the reason is in extfs/uzip - when I try to run it alone, it takes
about 2 seconds to compile the >script with perl and execute it. And since it
is executed and terminated repeadedly for each extracted >file, it's
horribly slow (I read numbers like 200 bytes/second on the progress indicator)
>This is especially annoying for archives containing lot of small files,
>running unzip takes few seconds, unpacking them with mc via F5(copy)
>takes usually few minutes

There reason is that MC fork()s for every single file in the archive when
performing the
copyin/copyout thing.

>Proposed solutions:
>rewrite uzip in C, not i perl (should be quite easy, just use z-lib). This
will be faster and I think >someone have already done it (i can look on the
web for it) but for extracting lot of small files this will >fix the things
only partially.
>So I think that in addition to copyin/copyout in extfs protocol there
should be added something like >multicopyin/multicopyout, allowing to supply a
list of files to be extracted, instead of calling the binary >in extfs once for
each file.
>Or, even better, integrate .zip file support directly into mc (like it
seems to be done with .tgz files) >since .zip is quite popular format ...

Well, you know - it takes someone to implement this things. It looks like
most people are find
the current implementation decent enough and do not bother. But on really
old machines I guess
it is quite evident that the implementation is wrong. Fixing this will also
relieve to the Cygwin
users, since the fork () is quite slow there. I tried different workarounds
to get it working faster
on Cygwin but none was good enough. So if time allows I can look into this
problem too. If you
start coding something please keep me posted.


Which solution would be the most preferable? I might help with coding it ...

Martin Petricek

COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test
1. GMX TopMail - Platz 1 und Testsieger!
2. GMX ProMail - Platz 2 und Preis-Qualitätssieger!
3. Arcor - 4. - 5. T-Online - 6. - 7. daybyday - 8. e-Post

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]