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… (ubnuntu 20.04 for Python 3.8).

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 Py3.8 v0.11
adscimage mb_LP_1_001.img 9 Mpix 1.16 s 1.12 s 2.67 s 28 ms
brukerimage Cr8F8140k103.0026 256kpix 796 µs 795 µs 1.43 ms 845 µs
cbfimage run2_1_00148.cbf 6 Mpix 173 ms 70.8 ms 70.8 ms 63.6 ms
edfimage F2K_Seb_Lyso0675.edf 4 Mpix 512 µs 597 µs 595 µs 735 µs
fit2dmaskimage fit2d_click.msk 1 Mpix 30.4 ms 30.5 ms 28.4 ms 6.23 ms
GEimage GE_aSI_detector_image_1529 4 Mpix 5.37 ms 5.44 ms 4.3 ms 6 ms
kcdimage i01f0001.kcd 360kpix 130 ms 121 ms 292 ms 460 ms
mar345image example.mar2300 5 Mpix 78 ms 77 ms 77 ms 124 ms
marccdimage corkcont2_H_0089.mccd 4 Mpix 9.28 ms 9.01 ms 17.2 ms 24.5 ms
OXDimage b191_1_9_1.img 256kpix 5.75 ms 5.67 ms 8.35 ms 5.62 ms
pnmimage image0001.pgm 1 Mpix 3.29 ms 3.25 ms 5.71 ms 2.6 ms
raxisimage mgzn-20hpt.img 3 Mpix 53.5 ms 57.1 ms 69.2 ms 39.9 ms
tifimage oPPA_5grains_0001.tif 4 Mpix 59.9 ms 58.4 ms 105 ms 114 ms
xsdimage XSDataImage.xml 256kpix 13.3 ms 12.9 ms 18.4 ms 11.1 ms

The Python3 version is sometimes twice slower then the Python2 version, this is especially true for TIFF based formats.