Boost logo

Boost :

Subject: Re: [boost] GIL io_new review
From: Domagoj Saric (domagoj.saric_at_[hidden])
Date: 2010-12-14 11:31:07


"Mateusz Loskot" <mateusz_at_[hidden]> wrote in message
news:4D065D94.80505_at_loskot.net...

> The gdal_image_tiles_test.cpp + Makefile for those who would like to run
> it in their environments.
> The results.txt file includes timing + tiles number + total size of
> tiles for PNG and JPEG output.
>
> Shortly, my results on Intel P8600 + 4GB RAM with Linux (amd64)
>
> PNG: 11:30 - 11:50 min
> JPG: 2:10 - 2:30 min
>
> RAM usage observed for both is less than 5MB.

Interesting, didn't know JPG compression was faster than PNG...

>> This code http://codepad.org/eGMixUK1 (io2 using the WIC backend,
>> unfortunately large TIFF support was added only to the latest WIC
>> available on Windows 7 so the same code will not work on WinXP)
>> opens the input TIFF and hacks it up into separate tile files. With
>> an Intel i5_at_4.2 GHz with 4 GB RAM I got the following results:
>
> Looks like run on ~1.5x faster machine, considering clock of single CPU.

Actually an i5 is a newer architecture than your Core 2 Duo so it is faster
even at same clock speeds...the one I'm using is an overclocked i5 660
(which further 'auto-overclocks' for single threaded loads) with fast DDR3
memory so we can assume that it is even 2x faster or maybe more (one cannot
really know as it heavily depends on the circumstances)...

However I was using a 32 bit build (while you used a 64 bit build)...maybe
even better results would be achieved with a 64 bit build...

>> 200x200 PNG tiles ~ 65 seconds 512x512 PNG tiles ~ 69 seconds
>
> What compression level did you use? See results.txt for my details.

Don't know exactly, WIC defaults (resulting PNGs were about 450~460 MB)...

>> 512x512 TIFF tiles ~ 27 seconds
>
> I assume it's no compression, right? I haven't tried TIFF.

Yes, if I remember correctly (just WIC default again)...

> The size of binaries in GDAL test is: 26K test program + 11M libgdal.so
> Note, libgdal.so is built with support of more than 120 dataset formats.

Still pretty big...it would be interesting if you could try a Clang 2.8
with -O4 (or -Os -flto -finline-small-functions) rebuild with static
linking...

> Indeed, your results are very impressive.

Well those aren't 'my' results actually, it's not like I wrote the decoding
procedures :) The goal is only to write a wrapper with the least amount of
'fat' around the decoder...

> I'm going to run your benchmark and submit my results here
> https://github.com/mloskot/workshop/tree/master/benchmarking/tiling/gil
> but I'm missing some details about how to configure and build it.
> Can I find it anywhere?

No need to build it (and the configuring is already done by the macro on the
first line)...but yes as you figured out later, it works only on Windows
(7), because of WIC (until I give 'full ROI' support to the LibTIFF backend)
and MSVC (temporarily until I clean up io2)...

-- 
"What Huxley teaches is that in the age of advanced technology, spiritual
devastation is more likely to come from an enemy with a smiling face than
from one whose countenance exudes suspicion and hate."
Neil Postman 

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk