AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
July 2007

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2007.07.03 18:37 "BigTIFF extension?", by Phil Harvey
2007.07.03 19:04 "Re: BigTIFF extension?", by Stephen Carlsen
2007.07.04 11:37 "Re: BigTIFF extension?", by Phil Harvey
2007.07.04 15:16 "Re: BigTIFF extension?", by Bob Friesenhahn
2007.07.04 15:58 "Re: BigTIFF extension?", by Phil Harvey
2007.07.04 17:13 "16-Bit-Per-Channel Lossless Compression", by Stephen Carlsen
2007.07.04 17:24 "Re: 16-Bit-Per-Channel Lossless Compression", by Andy Cave
2007.07.04 17:26 "Re: 16-Bit-Per-Channel Lossless Compression", by Andy Cave
2007.07.04 17:49 "Re: 16-Bit-Per-Channel Lossless Compression", by Stephen Carlsen
2007.07.04 18:00 "Re: 16-Bit-Per-Channel Lossless Compression", by Joris Van Damme
2007.07.04 18:02 "Re: 16-Bit-Per-Channel Lossless Compression", by Joris Van Damme
2007.07.04 18:59 "Re: 16-Bit-Per-Channel Lossless Compression", by Bob Friesenhahn
2007.07.04 20:37 "Re: 16-Bit-Per-Channel Lossless Compression", by Andy Cave
2007.07.04 21:40 "Re: 16-Bit-Per-Channel Lossless Compression", by Stephen Carlsen
2007.07.05 10:56 "Re: 16-Bit-Per-Channel Lossless Compression", by Andrey Kiselev
2007.07.05 17:58 "Re: 16-Bit-Per-Channel Lossless Compression", by Stephen Carlsen
2007.07.05 18:30 "Re: 16-Bit-Per-Channel Lossless Compression", by Joris Van Damme
2007.07.05 19:29 "Re: 16-Bit-Per-Channel Lossless Compression", by Stephen Carlsen
2007.07.06 01:46 "Re: 16-Bit-Per-Channel Lossless Compression", by Chris Cox
2007.07.09 15:35 "Re: 16-Bit-Per-Channel Lossless Compression", by Andrey Kiselev
2007.07.09 20:13 "Re: 16-Bit-Per-Channel Lossless Compression", by Chris Cox
2007.07.10 07:29 "Re: 16-Bit-Per-Channel Lossless Compression", by Andrey Kiselev
2007.07.10 18:54 "Re: 16-Bit-Per-Channel Lossless Compression", by Chris Cox
2007.07.05 12:03 "Re: 16-Bit-Per-Channel Lossless Compression", by Andy Cave
2007.07.05 12:57 "Re: 16-Bit-Per-Channel Lossless Compression", by Andrey Kiselev
2007.07.05 15:08 "Re: 16-Bit-Per-Channel Lossless Compression", by Andy Cave
2007.07.05 16:02 "Re: 16-Bit-Per-Channel Lossless Compression", by Andrey Kiselev
2007.07.05 16:56 "Re: 16-Bit-Per-Channel Lossless Compression", by Andy Cave
2007.07.05 13:45 "Re: 16-Bit-Per-Channel Lossless Compression", by Joris Van Damme
2007.07.05 14:26 "Re: 16-Bit-Per-Channel Lossless Compression", by Andrey Kiselev
2007.07.05 16:02 "Re: 16-Bit-Per-Channel Lossless Compression", by Bob Friesenhahn
2007.07.05 16:30 "Re: 16-Bit-Per-Channel Lossless Compression", by Joris Van Damme
2007.07.04 17:28 "Re: 16-Bit-Per-Channel Lossless Compression", by Michael Wolf
2007.07.04 18:02 "Re: 16-Bit-Per-Channel Lossless Compression", by Stephen Carlsen
2007.07.04 17:36 "Re: 16-Bit-Per-Channel Lossless Compression", by Andrew Brooks
2007.07.04 11:53 "Re: BigTIFF extension?", by Phil Harvey
2007.07.03 19:09 "Re: BigTIFF extension?", by Bob Friesenhahn
2007.07.03 19:17 "Re: BigTIFF extension?", by Andy Cave

2007.07.05 16:02 "Re: 16-Bit-Per-Channel Lossless Compression", by Bob Friesenhahn

On Thu, 5 Jul 2007, Joris wrote:

> As I don't speak gdalese, what size do tiles have in your test? It's my 
> opinion ideally efficient tiles over a broad range of compression modes, that 
> fit workflow on today's machines best, are in the order of about 1 to 3 
> megabyte, not the legacy 8 kilobyte (uncompressed, of course). I believe that 
> for some compression modes, tile size does have a considerable impact on 
> efficienty.

Joris,

You make many assumptions in the above statement, and particularly 
about how applications store/access their pixels.  I would not 
encourage anyone to write such huge tiles.

There are many major factors which influence performance:

   o Application pixel storage organization
   o CPU cache
   o Disk cache
   o Main memory bandwidth
   o Disk filesystem implementation
   o Operating system I/O implementation
   o Network filesystem implementation

I have done considerable testing and benchmarking in various scenarios 
and results usually show that data access sizes of 8K or 16K are best, 
with performance diminishing past 32K.

Your huge tiles have these problems:

   o They are larger than the cache on anything but the most exotic
     RISC systems.  Regardless, the first level cache is usually fairly
     small.
   o They are larger than many disk drive caches.
   o They don't mesh well with the typical 8K or 16K filesystem block
     sizes.
   o They don't mesh well with network filesystem buffering ("block")
     sizes.
   o The application is blocked on large I/O when it could be
     simultaneously processing data (parsing/storing pixels).
   o They require the application to allocate more memory.
   o They defeat the operating system's built in "read ahead"
     logic for sequential file access.  The operating system is only
     going to be willing to buffer a limited amount of unrequested
     data in anticipation that it might be used.  Only a rather
     foolish OS will gamble on reading 3MB of data in advance with
     the hope that it will be used.  If the OS is only willing to
     do read ahead by 8K or 16K, then performance is best if the
     application does not need more than that in order to proceed.

Bob
======================================
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/