# 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.