Re: Fw: Re: Welcome to the "png-mng-implement" mailing list (Digest mode)

John Bowler <[email protected]>
Newsgroups gmane.comp.graphics.png.devel
Message-ID <CAP7U398UPt3Zzwos_QJZnbHwEONEf308OBODWwogQOovqZcNoA@mail.gmail.com>
On Wed, Mar 22, 2017 at 1:48 AM, <[email protected]> wrote:

>
> Hi,
>    I'm beginner of using libpng, is there any performance benchmark for
> libpng on Linux?
>
>
Because the range of PNG images is so large and the libpng API so broad the
best benchmark is always your own application; it uses specific types of
images (e.g. it might not use grayscale images at all) and it uses specific
parts of the API and never touches other parts used by other apps.

If you have a collection of images that are typical of those that get used
in your environment you can assemble them into a test file using timepng
(from contrib/libtests/timepng.c) and then run that to get a simple timing
figure for raw read of all of those PNG files.

timepng either reads an image row-by-row or, if one of the options to have
libpng perform a transform on read are given, uses png_read_png to read the
whole image into memory with libpng transforms.  One or other of these will
probably correspond with what any given app does when it reads a PNG, but
bear in mind that it is very likely that most of the time will go in what
happens *after* the PNG has been read inside the app or other library code.

If you use the progressive reader timepng won't be of help; the progressive
reader uses significantly different code.  If you use libpng for gamma or
grayscale transforms and your images are small the transforms will dominate
the read time; timepng won't give anything useful.

If you use the write code that will dominate performance; it is not speed
optimized.

Of course these are caveats that apply in general to any benchmark; I trust
I'm preaching to the choir here.

-- 
John Bowler <[email protected]>
+1 (541) 450-9885
PO BOX 3151
KERBY OR 97531-3151
USA

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
png-mng-implement mailing list
png-mng-implement-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.