blackie's blog

    blackie's picture

    10-100 times faster thumbnail loading

    2010
    31
    Jul

    Fast - tell me how do you implement a thumbnail loader - well the loading
    and storing of the thumbnails that is?

    Classically you would likely say something that included individual JPG
    files for each thumbnails, and perhaps also something that included
    multithreading.

    Well that is at least how many application does it, and Linux even have a
    standard for it, so applications can share the thumbnails.

    I've implemented a much faster way to do it. This is something like 10-100
    times faster, and I have code to prove it :-)

    The Short Story
    Store all the thumbnails in one big file, which is way
    faster to navigate for the hard disk, than seeking around just to load a
    few kilo bytes here and there.

    The slightly longer story

    First of all, I didn't come up with this idea, so kudos to whoever
    introduced it to me many years ago - maybe someone planted the idea in my mind
    while I was sleeping :-)

    I'm no where close to being a hardware kind of guy, so I wont bother you
    with the details or statistics, but the fact is that the hard disk waste
    valuable milliseconds when it has to seek to a new location to load
    data. Just try to create an application which loads dummy data from a bunch
    of different files, and measure how much your application loads a
    second. Now compare that to an application that loads dummy data from one
    big file instead.

    When you want to see the thumbnails in say a photo application like
    KPhotoAlbum, then you are very likely to load them in a specific sequence,
    so if you could get them located on disk in that sequence then the disk
    would not need to skip around when loading.

    I, at least haven't found a way to tell my Linux how to store things in a
    specific order on disk, so the alternative is to store all the thumbnails
    in one big file. That at least from my test seems to be way less
    fragmented.

    Try it out
    OK, don't just trust what I say, try it. Download the demo from
    http://www.kphotoalbum.org/data/ThumbnailLoader.tgz

    compile it using:
    qmake; make

    run it like this:
    ThumbnailLoader new /path/to/the/rootdirectory/of/all/you/images

    you only need to specify the path the first time you run the demo.

    To compare this to the old way of loading thumbnails, you may run the
    demo like:
    ThumbnailLoader old.

    To avoid being cheated by your disk cache, make sure you load in a lot of
    images, and that you scroll a lot around.

    Cheers
    Jesper.

    blackie's picture

    KPhotoAlbum - now open for new contributions

    2009
    12
    Jun

    The last three years have been no fun in the history of KPhotoAlbum. We have
    been struggling with porting KPhotoAlbum to Qt4/KDE4.

    During that period we for sure have lost many users that got bored from the
    lack of releases, and also many contributors that got fat up by
    listening to me saying no, no, no and no again to new features.

    Recognizing the enormous work the port would be, I had the strong belief
    that the best path to getting through it would be to
    concentrate on the port alone, and not get lost in a million new features
    at the same time. I'll let history judge if that was a good or a bad
    approach.

    Anyway, now we are through, and a KDE 4 release have been a few month ago,
    and new development has started!

    To that end, I've spent the last week on adding a new section to the
    website trying to help people get started with contributing
    . Among
    other things a number of junior tasks have been identified.

    So if you are interested in joining KPhotoAlbum development, why not drop
    by #kphotoalbum at irc.kde.org this weekend, and get started with your
    contribution.

    blackie's picture

    KPhotoAlbum Development Sprint

    2008
    29
    Aug

    Tomorrow it starts! The (at least for four of us) long awaited KPhotoAlbum development sprint!

    Tuomas Suutari, Jan Kundrát, Henner Zeller, and I will all by together at my place in Hjørring, Denmark the coming week to bring the development of KPhotoAlbum forward.

    Stay tuned!

    blackie's picture

    KPhotoAlbum enters message freeze + price drawing contest

    2006
    10
    Dec

    Today KPhotoAlbum entered message freeze, and is now ready to be
    translated. The release will happen Dec 31th 2006.

    To bring a bit of attention to the great work the translators do, I've
    started a small prize drawing contest which those who have made a complete
    translation of KPA participating. The prize is $100.

    See http://www.kphotoalbum.org/news.htm#item0043 for details.

    blackie's picture

    KPhotoAlbum splash screen contest over!

    2006
    28
    Sep

    The KPhotoAlbum splash screen contest ended today, and a winner has been found, namely Jaroslav Holan's submission. Congratulation and thanks for all the nice splash screen submitted.

    blackie's picture

    KPhotoAlbum Splash Screen Contest is almost over

    2006
    15
    Sep

    Just one more day (till tonight midnight), and the KPhotoAlbum splash screen contest is over. I am truely impressed with the amount and quality of submissions. Have a look at http://www.kphotoalbum.org/splashscreen.htm

    I promissed the KPhotoAlbum community that I for once (ahem) would not be a cruel dictator, but instead allow them to vote on which one we would use. And am I glad I did that, there is at least 5-6 which I simply can't choose among, because they are so good :-)

    Any suggestions on how to run such a vote is more than welcome.

    blackie's picture

    win $100 in KPhotoAlbum splashscreen contest

    2006
    26
    Aug

    The splash screen contest started yesterday just got more exciting. You now have the chance of winning $100. see contest info

    blackie's picture

    Artists Attention please, join the KPhotoAlbum splash screen contest!

    2006
    24
    Aug

    Today Christoph Moseler managed to push me over the edge. Several times people have complained that the KPhotoAlbum splash screen was a combination of ugly, ugly and non relating to KPhotoAlbum. So far I've managed to tell people to go and take a hike, but today I gave up :-)

    Therefore, I started a contest to make a new splash screen for KPhotoAlbum. I hope lots of talented artist will participate.

    blackie's picture

    KPhotoAlbum support for Videos

    2006
    17
    Aug

    KPhotoAlbum development is going really well in the evenings these days. Currently I'm working on the video support in KPhotoAlbum. Actually, tonight I finished the HTML generation, check out a web page with videos and images generated from KPhotoAlbum

    In just 15 days I'm going home to my lovely girlfriend permanently (greetings encoded to my coworkers who've I've spent a year with now, and my girlfriend who I haven't), man am I looking forward to that!

    Finally, if some of you out there want to become my star, then hurry send some Danish Candy to Holiday Inn, Beautiful Downtown Bridgeport, Connecticut (and address the envelope: "Dope for your Danish addict")

    blackie's picture

    The movie: World Trade Center

    2006
    12
    Aug

    I just don't know, I really don't know. Whether I liked the movie, that is. Had it been completely fiction, then I would have scratched it right away. Directly translated from Danish I would have called it emotional porn. On the other hand, this was not fiction, it was about a terrible event that has happend in my life time.

    In any case, it was a very special feeling leaving the show room along with 200 other people, with no one saying a single word.

    I learned a new word the other day (which I of course have forgotten again), then meaning of the word was something like bitter sweet, it was explained to me as the feeling you have when you think of a happy moment with a loved one who is now dead. I guess that rather well describes the feeling I had when I left the cinema.