Arrays of numbers for Python, optimized for small sizes

## Project description

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. What is more, tinyarrays are equivalent to tuples with regard to hashing and comparisons: a dictionary or set with tinyarray keys may by transparently indexed by tuples.

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.

## Project details

Uploaded source