[Image-SIG] Comparison of PIL and GD speed for setting pixels through python
jb at langarson.com.au
Fri Feb 2 07:32:57 CET 2007
I've had a need to do some optimisation of some low level pixel setting
code, and have as such done some tests of different ways of doing this
using PIL and alternatively with gd via ctypes.
Ctypes provides a fairly easy way to interface to gd, and allows you to
easily use small sections of optimising C code. A summary of the
results is below, but basically using ctyles/GD/c is about 20 or so
times faster than PIL and the new Image.load, and over 200 times faster
than using PIL's ImageDraw.point method.
Method Time (s) Times slower than fastest
+-----+ +-------+ +------------------------+
ctypes, c, GD 0.00181 1.0
PIL - 'load' 0.03965 21.9
ctypes, GD 0.18710 103.5
PIL - 'point' 0.45009 248.9
A full writeup of this can be found here :
I hope this is of use, and I look forward to comments, particularly on
other ways of doing this with PIL & C, which there undoubtedly are.
www.langarson.com.au - Python, Zope, GIS, Weather.
More information about the Image-SIG