Вийшов реліз Python-біблотеки NumPy 2.0.0. Це перше масштабне оновлення з 2006 року
NumPy 2.0.0 є першим великим релізом з 2006 року. Він містить багато нових цікавих можливостей, а також зміни в API Python і C.
Цей великий реліз має зміни, які не могли відбутися в звичайному малому (функціональному) релізі — зокрема переривання ABI, зміни в правилах просування типів і зміни API, які, можливо, не видавали попередження про застарілість в 1.26.x.
Далі про основні моменти цього оновлення👇
Нові можливості
- Новий тип рядка змінної довжини dtype, StringDType та новий простір імен numpy.strings з ефективними ufunc для операцій з рядками,
- Підтримка float32 та longdouble у всіх функціях numpy.fft,
- Підтримка стандарту API масивів у головному просторі назв numpy.
Перформанс
- Функції сортування (sort, argsort, partition, argpartition) прискорено завдяки використанню бібліотек Intel x86-simd-sort та Google Highway.
- Прискорено підтримку та бінарні колеса для macOS >=14, а також зменшено розмір коліс приблизно в три рази.
- Операції з рядками фіксованої довжини numpy.char прискорено завдяки реалізації ufuncs.
- Новий API трасування та самоаналізу opt_func_info для визначення доступних апаратно-специфічних ядер, до яких буде надіслано запит.
API Python
- Чіткий поділ на публічний та приватний API, нова структура модулів, кожна публічна функція тепер доступна в одному місці.
- Видалено багато нерекомендованих функцій та псевдонімів.
- Канонічні імена dtype та нова функція самоаналізу isdtype.
C API
- Новий загальнодоступний API C для створення власних dtypes.
- Видалено багато застарілих функцій та макросів, а приватні внутрішні компоненти приховано.
- Нові, простіші у використанні функції ініціалізації: PyArray_ImportNumPyAPI та PyUFunc_ImportUFuncAPI.
Покращена поведінка
- Покращено поведінку просування типів завдяки прийняттю NEP 50.
- Тип цілих чисел за замовчуванням у Windows тепер int64, а не int32, що відповідає поведінці на інших платформах.
- Максимальну кількість розмірів масиву змінено з 32 до 64.
Документація
- Навігація довідником була значно покращена, і тепер є документація по структурі модулів NumPy.
- Повністю переписано збірку з вихідної документації.
Крім того, є багато змін у внутрішній структурі NumPy, зокрема продовження міграції коду з C на C++, що полегшить підтримку NumPy в майбутньому.
А якщо ви хочете обговорити розвиток Python з колегами, запрошуємо вас на офлайн DOU Python Meetup. Реєстрація відкрита!
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів