[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-imaging
Subject:    Re: [Kde-imaging] Lossless image compression
From:       Christoph Feck <christoph () maxiom ! de>
Date:       2012-02-08 15:42:55
Message-ID: 201202081642.55959.christoph () maxiom ! de
[Download RAW message or body]

On Tuesday 07 February 2012 15:43:19 Dmitry Kazakov wrote:
> Probably, I'm a bit outdated.
> 
> I've just run the test on my new machine.
> The results are the following:
> 
> Compression LZF w/o  linearization: 247 memcpy's. Ratio: 0.938
> Compression LZF with linearization: 213 memcpy's. Ratio: 0.769
> 
> Decompression LZF w/o  linearization:  78 memcpy's.
> Decompression LZF with linearization: 112 memcpy's.
> 

I am interested what exactly you are measuring. Either your memcpy is 
blazingly fast, or mine is very slow.

I get the following CPU timings (i.e. only "user" part of "time" 
output). I tried several times, and listed is the smallest value I 
got. Machine is 1.2 GHz ULV Centrino, 32 bit, only one core used. Test 
files from http://www.imagecompression.info/test_images/

First test: 7216x5412 "big_building.ppm", RGB 8-bit photo (112 MB)

memcpy: 0.126 s
bytecopy: 0.218 s

compression:
IZ p3: 2.947 s, ratio 0.494
IZ p2: 1.625 s, ratio 0.509
IZ p1: 1.488 s, ratio 0.546
LZF: 1.826 s, ratio 0.989

decompression:
IZ p3: 3.216 s
IZ p2: 1.779 s
IZ p1: 1.670 s
LZF: 0.544 s

Second test: 3072x2048 "artificial.ppm", RGB 8 bit raytraced (18 MB)

memcpy: 0.017 s
bytecopy: 0.035 s

compression:
IZ p3: 0.452 s, ratio 0.119
IZ p2: 0.235 s, ratio 0.139
IZ p1: 0.215 s, ratio 0.122
LZF: 0.114 s, ratio 0.189

decompression:
IZ p3: 0.491 s
IZ p2: 0.264 s
IZ p1: 0.217 s
LZF: 0.073 s

"memcpy" is what gnu libc 2.14.1 + gcc 4.6.2 combo provides in -O2 
mode.

"bytecopy" is:
	while (p != pend) {
	    *dest++ = *p++;
	}
where dest and p are byte pointers.

"IZ p3" is IZ with (default) 3-pixel predictor. "IZ p2" and "IZ p1" 
are IZ with 2-pixel and 1-pixel predictors, which trade some 
compression rate for speed (preferred for swap compression).

"LZF" is lzf code copied verbatim from krita master (no linearization, 
just to compare speed, not size).
_______________________________________________
Kde-imaging mailing list
Kde-imaging@kde.org
https://mail.kde.org/mailman/listinfo/kde-imaging
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic