How can PyTables be fast if it is written in an interpreted language like Python?
Actually, all of the critical I/O code in PyTables is a thin layer of code on top of HDF5, which is a very efficient C library. Pyrex is used as the glue language to generate “wrappers” around HDF5 calls so that they can be used in Python. Also, the use of an efficient numerical package such as NumPy makes the most costly operations effectively run at C speed. Finally, time-critical loops are usually implemented in Pyrex (which, if used properly, allows to generate code that runs at almost pure C speeds).