Benchmarks

Those benchmarks have been done with all data already in cache using a Intel Xeon E5520 @ 2.27GHz running Debian 7 and FabIO 0.2.2... Those data are now out-dated.

Execution time for reading a file, benchmarked using the timeit module.
FabIO module Filename Size Py2.7 v0.1.4 Py2.7 v0.2.0 Py3.2 v0.2.0
adscimage mb_LP_1_001.img 9 Mpix 1.16 s 1.12 s 2.67 s
brukerimage Cr8F8140k103.0026 256kpix 796 µs 795 µs 1.43 ms
cbfimage run2_1_00148.cbf 6 Mpix 173 ms 70.8 ms 70.8 ms
edfimage F2K_Seb_Lyso0675.edf 4 Mpix 512 µs 597 µs 595 µs
fit2dmaskimage fit2d_click.msk 1 Mpix 30.4 ms 30.5 ms 28.4 ms
GEimage GE_aSI_detector_image_1529 4 Mpix 5.37 ms 5.44 ms 4.3 ms
kcdimage i01f0001.kcd 360kpix 130 ms 121 ms 292 ms
mar345image example.mar2300 5 Mpix 78 ms 77 ms 77 ms
marccdimage corkcont2_H_0089.mccd 4 Mpix 9.28 ms 9.01 ms 17.2 ms
OXDimage b191_1_9_1.img 256kpix 5.75 ms 5.67 ms 8.35 ms
pnmimage image0001.pgm 1 Mpix 3.29 ms 3.25 ms 5.71 ms
raxisimage mgzn-20hpt.img 3 Mpix 53.5 ms 57.1 ms 69.2 ms
tifimage oPPA_5grains_0001.tif 4 Mpix 59.9 ms 58.4 ms 105 ms
xsdimage XSDataImage.xml 256kpix 13.3 ms 12.9 ms 18.4 ms

The Python3 version is sometimes twice slower then the Python2 version. As the codebase is the same this regression is not due to FabIO but to the programming language itself. The Performances obtained using Python3.4+ is now again close to the one of Python2.7.