ΠΠΎΡΡΠ°ΠΏΠ½ΠΎ ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π·Π° Π½Π°ΡΡΠ½ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ NumPy 1.19, ΡΠΎΠΊΡΡΠΈΡΠ°Π½ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅Π΄ΠΈΠΌΠ΅Π½Π·ΠΈΠΎΠ½Π°Π»Π½ΠΈ Π½ΠΈΠ·ΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΡΠΈ, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΌΠ°ΡΡΠΈΡΠΈ. NumPy Π΅ Π΅Π΄Π½Π° ΠΎΠ΄ Π½Π°ΡΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π½Π°ΡΡΠ½ΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠΈ. ΠΡΠΎΠ΅ΠΊΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Python ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎ C ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° BSD.
NumPy 1.19 ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Python 3.5 ΠΈ Π³ΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π° ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° Python 2 (ΡΠ»ΠΎΡΠΎΡ numpy.compat Π·Π°ΡΠ΅Π³Π° Π΅ ΠΎΡΡΠ°Π²Π΅Π½ Π½Π° ΠΌΠ΅ΡΡΠΎ). ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ ΡΠ΅ Python 3.6, 3.7 ΠΈ 3.8. Π Π°Π·Π²ΠΎΡΠΎΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΎΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π²ΡΠ΅ΠΏΠ΅Π½Π΅Π½.ΡΠ»ΡΡΠ°Π΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠ»ΡΡΠ°ΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΠΎ ΡΡΠΊΠ°Π»Π° NumPy Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Aarch64 ΠΈ ΠΏΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Python pypy. ΠΡΠΎΡΠΈΡΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ numpy.frompyfunc, np.str_, numpy.copy, numpy.linalg.multi_dot, numpy.count_nonzero ΠΈ numpy.array_equal. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° AVX. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° ΡΠ°Π±ΠΎΡΠΈ 5-7 ΠΏΠ°ΡΠΈ ΠΏΠΎΠ±ΡΠ·ΠΎ np.exp Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° AVX512, ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π²Π»Π΅Π·Π΅Π½ ΡΠΈΠΏ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ np.float64.
ΠΠ·Π²ΠΎΡ: opennet.ru