Telegram Group & Telegram Channel
🔥 Как ускорить Python-код в 10 раз?

Сегодня покажу вам мощный инструмент для оптимизации кода — Numba. Это библиотека, которая позволяет компилировать Python-функции в машинный код, используя JIT-компилятор.

🚀 Как это работает?

Numba использует LLVM для компиляции кода во время выполнения, превращая Python в код, близкий по скорости к C.

Пример

Допустим, у нас есть функция, вычисляющая сумму квадратов чисел:

import numpy as np
import time

def sum_of_squares(n):
result = 0
for i in range(n):
result += i ** 2
return result

n = 10**7
start = time.time()
sum_of_squares(n)
print("Обычный Python:", time.time() - start)


Теперь ускорим её с помощью Numba:

from numba import jit

@jit(nopython=True)
def sum_of_squares_numba(n):
result = 0
for i in range(n):
result += i ** 2
return result

start = time.time()
sum_of_squares_numba(n)
print("С Numba:", time.time() - start)


📊 Результат:

Код на чистом Python выполняется ~5-10 раз медленнее, чем с Numba.
Numba особенно полезна для математических вычислений и обработки массивов.
Простая аннотация @jit(nopython=True) уже даёт мощный прирост скорости!

Где применять?

Численные расчёты
Обработку данных
Алгоритмы машинного обучения

Попробуйте Numba и напишите в комментариях, удалось ли вам ускорить свой код!

👉@BookPython



tg-me.com/BookPython/3560
Create:
Last Update:

🔥 Как ускорить Python-код в 10 раз?

Сегодня покажу вам мощный инструмент для оптимизации кода — Numba. Это библиотека, которая позволяет компилировать Python-функции в машинный код, используя JIT-компилятор.

🚀 Как это работает?

Numba использует LLVM для компиляции кода во время выполнения, превращая Python в код, близкий по скорости к C.

Пример

Допустим, у нас есть функция, вычисляющая сумму квадратов чисел:

import numpy as np
import time

def sum_of_squares(n):
result = 0
for i in range(n):
result += i ** 2
return result

n = 10**7
start = time.time()
sum_of_squares(n)
print("Обычный Python:", time.time() - start)


Теперь ускорим её с помощью Numba:

from numba import jit

@jit(nopython=True)
def sum_of_squares_numba(n):
result = 0
for i in range(n):
result += i ** 2
return result

start = time.time()
sum_of_squares_numba(n)
print("С Numba:", time.time() - start)


📊 Результат:

Код на чистом Python выполняется ~5-10 раз медленнее, чем с Numba.
Numba особенно полезна для математических вычислений и обработки массивов.
Простая аннотация @jit(nopython=True) уже даёт мощный прирост скорости!

Где применять?

Численные расчёты
Обработку данных
Алгоритмы машинного обучения

Попробуйте Numba и напишите в комментариях, удалось ли вам ускорить свой код!

👉@BookPython

BY Библиотека Python разработчика | Книги по питону


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/BookPython/3560

View MORE
Open in Telegram


Библиотека Python разработчика Telegram | DID YOU KNOW?

Date: |

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

Библиотека Python разработчика from us


Telegram Библиотека Python разработчика | Книги по питону
FROM USA