thumbnail-spec: proposing nested thumbnail cache directories
Alexander Larsson
alexl at redhat.com
Mon Sep 10 04:11:52 PDT 2007
On Fri, 2007-09-07 at 18:02 +0000, Thomas Leonard wrote:
> On Thu, 30 Aug 2007 12:06:10 +0200, Christian Neumair wrote:
>
> > Dear xdg list,
> >
> > Over at GNOME land we have the problem that due to the huge size of the
> > thumbnail directories, refreshing in-memory thumbnail readdir() caches
> > takes very long.
> >
> > The caches are required as thumbnails are looked up for *every* file one
> > opens with the file manager, so the cumulative performance impact is
> > significant.
> >
> > http://blogs.gnome.org/cneumair/2007/04/29/thumbnail-followup/
> > http://blogs.gnome.org/cneumair/2007/08/29/thumbnail-followup-2/
> >
> > Alexander Larsson proposed to reduce this delay massively by using
> > nested directories - git does that as well:
> >
> > The first two digits of the MD5 hash "4f831f...89" would be split apart,
> > and used to create a subdirectory "4f". The thumbnail file corresponding
> > to the specified example in this directory would then be named
> > "831f...89.png". So the entire hash maps to the file "4f/831f...98.png"
> > rather than "4f831f...98.png"
>
> The problem with this is that to render one directory of images you need
> to open a lot of thumbnails directories, evenly distributed. Also, it's a
> hack to work-around a filesystem problem. A better scheme would be to
> md5sum the name of the directory containing the image, e.g. thumbnailing
> a directory containing 'dog.jpg' and 'cat.jpg' would create/access:
>
> <cache>/763ab.../dog.jpg
> <cache>/763ab.../cat.jpg
>
> Thus you get all the images you need together in the cache. Also helps
> with deleting/renaming directories.
>
> This was suggested by Rasterman a while ago, IIRC. If we're going to
> change the spec, I'd prefer to change to that.
This sounds good to me too.
More information about the xdg
mailing list