1994.12.01 17:46 "Directory Access Time in TIFF Files", by Victor C Zandy

1994.12.01 17:46 "Directory Access Time in TIFF Files", by Victor C Zandy

Greetings,

This message concerns the time it takes to retrieve individual images from a multiple-directory (50-100 entries) TIFF image.

We are presently constructing a database of small (less than 1K, uncompressed) TIFF images. We have approximately 180,000 images. Applications which use this database generally work by retrieving a large fraction of the images. We have found that the overhead incurred by storing each image in a separate file affects other users of the disk and cpu---there is too much I/O. We are investigating alternatives to this organization.

A natural idea is to divide the database into fewer files, say 3500, and utilitize the directory facilitites of TIFF to store many images in a single file. The advantages of this (over manually concatenating the files and devising an index/retrieval scheme), is that the TIFF{Read,Write,Set}Directory() routines in libtiff make it very simple and convenient to implement.

However, we have discovered that this solution, while reducing the I/O overhead, on average at least doubles the retrieval time. TIFFSetDirectory() seeks from the first directory; it does not jump immediately to the desired directory. It turns out to be faster to just read the desired image directly off the disk.

We are thus discouraged from using the directory facilities as we understand them.

We would greatly appreciate your input on the following:

Thank you,
Victor Zandy