Arrays of numbers for Python, optimized for small sizes
Tinyarrays are similar to NumPy arrays, but optimized for small sizes. Common operations on very small arrays are to 3-7 times faster than with NumPy (with NumPy 1.6 it used to be up to 35 times), and 3 times less memory is used to store them. Tinyarrays are useful if you need many small arrays of numbers, and cannot combine them into a few large ones. (The resulting code is still much slower than C, but it may now be fast enough.)
Unlike Python’s built-in tuples, Tinyarrays support mathematical operations like element-wise addition and matrix multiplication. Unlike Numpy arrays, Tinyarrays can be used as dictionary keys because they are hashable and immutable.
The module’s interface is a subset of that of NumPy and thus should be familiar to many. Whenever an operation is missing from Tinyarray, NumPy functions can be used directly with Tinyarrays.