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.