The NumPy Python library for handling large array data has announced version 2.0, marking a significant release following 1.0 that was introduced back in 2006. This version was planned last year to redesign the structure, resulting in APIs and ABIs that are not compatible with the old code.
Certain changes in NumPy 2.0 were previously warned about, showing up as deprecated warnings, while some changes were not foreseeable. Users should always test before use.
One notable change is the handling of data types that now support string data without specifying length, altering data return behavior in cases of processing different types together. For example, np.float32(3) + 3. will return float32 compared to float64 in NumPy 1.x. The NumPy C API also allows developers to conveniently create new data types.
In terms of efficiency, several sort functions now run faster due to utilizing SIMD features of multiple CPU generations, enhancing speed on macOS and reducing binary size while improving performance. Additionally, support for Pickle 4 allows for object conversion to files larger than 4GB, resulting in an overall 5% increase in efficiency.
Download now on GitHub.
TLDR: NumPy 2.0 introduces structural changes and data type handling improvements for enhanced performance and compatibility, with speed enhancements and Pickle 4 support.
Leave a Comment