From: | Dave Clarke |
Date: | 16 Mar 2001 at 05:53:16 |
Subject: | [D5] Re: New Stuff |
Once upon a time, 15-Mar-01 09:51:51, Alan Watson spoke thus about
'[D5] Re: New Stuff':
> On 14-Mar-01, Keith Halstead wrote:
>>> I've had a little play with this and found that ArcHandlerEx is
>>> considerably slower than ArcDir at listing directories in LHA/LZX archives
>>> when there are lots of files in them (even if they are somewhere else in
>>> the archive). I should think a good example would be try them both with
>>> the Magnum Opus archive. Any way to speed it up to ArcDir speeds?
> Are you using the version of Xad that came with OS3.9?I
> think that it is the generic cpu version.There`s archives
> on Aminet optimised for different cpu`s,but you need to
> register it to get rid of a `reminder` requester whenever
> you unpack anything using the Xad lib.
> I`m not sure how much faster the optimised ones will
> be though.
It won't be any faster, the speed is dependant on the parsing of the archive
list generated.
With ArcDir this is done via an assembler program that Edmund wrote
specifically to do this, thus ArcDir can only handle LhA/LZX output format
though. You'll notice if you re-archive an archive to ZIP format and use the
ZIP version of ArcDir done by Fred, it won't be as fast as doing the same as
the LhA archive.
ArcDirList takes a directory as one of it's arguments, it then searches
through the archive listing for matching entries and outputs them to a file
in a format directly compatible with the 'lister add' command. Thus the
ArcDir script just opens this file and just does an INTERPRET on the line.
Result - very fast but very limiting with regards to archive types.
ArcHandlerEx on the other hand, has no accompanying program to parse the
archive list and output in a 'lister add' friendly format, everything is done
within the script.
Result - much slower but only limited by what archives xad can handle.
The actual section in the script that does the parsing is very short, (and I
keep looking at it to see if I can trim bits here and there), with xad
providing the archive listing in a uniform format, writing a small C program
to do the same as ArcDirList should be a simple matter.
Alas, my C knowledge is severely limited but I'm always happy to hear from
someone who'd like to do it, (Rafal :)
Dave