ZPack update
- From: "cr88192" <cr88192@xxxxxxxxxxxxxxxxxx>
- Date: Thu, 18 May 2006 11:36:10 +1000
the updated tools/source can be downloaded here:
http://bgb-sys.sourceforge.net/zpack_0_1.zip
as before, comments would be appriciated.
there may yet be more updates in the future.
partly, a lot has been going on recently and I have not been able to put
much time into this.
of note, a few additions have been made to the format, in particular:
multiple forks. though presently unused in the implementation, these may be
used later for adding additional metadata to files (for example, names
longer than 32 chars, or possible os/implementation specific metadata).
for very small files, packing the data directly into the directory entries
(this is currently limited to about 20 bytes). in this way, very small (and
typically uncompressible) files can be stored absent needing to locate space
elsewhere in the image, and saving an entry in the spans tables.
directory indexing. this is considered presently as a possible/optional
feature. in this case, an avl tree may be built for specific directories and
used during lookup operations. as this format is intended for use in
persistent stores, there is a high probability of single directories with a
very large number of entries (several M files or more), so in this case,
building an indexing structure and storing it to disk may make sense.
another possibility includes claiming that the directory is indexed, but not
storing the index structure itself. this will indicate instead to build the
index structure at load time, which may make the most sense for directories
containing a few k files or less...
note, I am thinking of implementing avl trees here as I doubt that there
will be sufficient file counts or performance requirements to demand
implementing a b-tree (in these cases, it would likely make more sense to
implement a custom format anyways).
likewise, b-trees are less likely to play well with the (byte oriented)
nature of the format (most implementations of b-trees I have seen have been
block-oriented). putting a block structure on top of a byte-oriented format
imo seems rather inelegant...
another thing is that of also the possibility of storing the spans tree to
disk, which may be helpful in the possible case of large images (> 100k or
1M files). at present, my test images involve a small enough number of files
(5 to 10k) that storing this index is unlikely to be all that helpful, but
it does remain as a possibility...
I guess the limit is how many files to expect in an image, and how to expect
them to be distributed. assuming < 100k may well be sufficient.
.
- References:
- ANN: ZPack File Format, spec and tools
- From: cr88192
- ANN: ZPack File Format, spec and tools
- Prev by Date: Re: Apology...for that joke.
- Next by Date: Re: Regarding Extended Sequential JPEG CODEC
- Previous by thread: Re: ANN: ZPack File Format, spec and tools
- Next by thread: Re: HELP! A compressed file doesn't open anymore.
- Index(es):
Relevant Pages
|