[csw-maintainers] New ImageMagick

Laurent Blume laurent at opencsw.org
Wed Jul 17 10:05:49 CEST 2013


Hello all,

Since we discussed that not long ago, and I've got a few thousands pics 
I want to integrate in a gallery, I've done a little benchmarking with 
ImageMagick.

The conclusion is that I'm going to switch this to GCC4.8, as the 
performance is remarkably better, at least on AMD64.

Here's the details:

The system is based on an old CPU:
Intel(r) Core(tm)2 Quad  CPU   Q9550  @ 2.83GHz

I run this command on a bunch of high rez pics, a couple of times to 
ensure the results are consistent:

export OMP_NUM_THREADS=x
ptime \
bash -c "for i in _MG_10*.JPG; do
   /opt/csw/bin/convert "$i" -sharpen 0x1.0 -resize 80% png:/dev/null
done"

Here are the results, using the current build as the reference (100). 
Lower values are faster, and real is of course what matters most to the 
user:

	GCC4 			SOS12U3 			SOS12U3 -xO5 		
	2 threads 	3 threads 	*4 threads* 	*2 threads* 	3 threads 	4 threads 	2 
threads 	3 threads 	4 threads
real 	06:48,3 	05:08,9 	*04:30,9* 	*09:12,0* 	06:46,8 	05:48,5 
07:21,3 	05:37,5 	04:58,2
user 	11:18,7 	11:34,3 	*12:03,7* 	*15:58,2* 	16:15,1 	16:46,2 
12:17,0 	12:34,5 	13:08,7
sys 	00:38,2 	00:44,7 	*00:49,1* 	*00:39,3* 	00:45,1 	00:50,4 	00:38,0 
00:45,4 	00:49,9
	73,98 	55,96 	*49,08* 	*100,00* 	73,70 	63,14 	79,95 	61,14 	54,02
	70,84 	72,46 	*75,53* 	*100,00* 	101,77 	105,02 	76,91 	78,74 	82,32
	97,20 	113,63 	*124,88* 	*100,00* 	114,58 	128,22 	96,70 	115,30 	126,89


An important thing here: the default number of threads for Studio is 2, 
while for GCC4, it is the number of available cores.
It means that for a casual user on a 4-core system like mine, the 
immediate difference is really huge: the real time spent with GCC is 
less than half that of Studio.
Even with using -xO5, Studio is still about 10% slower than GCC4.8.
I tried to build using -native with SOS12U3: it crashed on an assertion 
failed.
I also tried -O3 with GCC, but the results were about the same or even 
somewhat slower, so I didn't push it.

I'll put packages on experimental soon, I would be /very/ interested if 
somebody could run a similar test on sparc hardware to compare 
performance (I might be able to do it on an M3000 with 16 cores).

As for the ABI practicality: at this point, there's nothing depending on 
the C++ ImageMagick library, so it won't break anything. Future 
dependent packages should follow suit.

Laurent

Studio OpenMP variables:
http://docs.oracle.com/cd/E24457_01/html/E21996/aewcb.html

GCC:
http://gcc.gnu.org/onlinedocs/libgomp/OMP_005fNUM_005fTHREADS.html


On 15/07/13 15:34, Laurent Blume wrote:
> Hello all,
>
> I'm pushing ImageMagick 6.8.6-5.
>
> There are a few things of note:
>  - I dropped DPS support: it's not a must-have, and it depends on a
> really obsolete feature of Solaris
>  - the libs are now named like this: libMagickCore-6.Q16HDRI.so.1.0.0,
> that's because HDR is enabled (it already was), I don't think it should
> be a problem if it is linked to correctly. It also allow to have a
> non-HDR version if it becomes needed
>
> Cheers,
>
> Laurent
> _______________________________________________
> maintainers mailing list
> maintainers at lists.opencsw.org
> https://lists.opencsw.org/mailman/listinfo/maintainers
> .:: This mailing list's archive is public. ::.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20130717/124dc08b/attachment-0001.html>


More information about the maintainers mailing list