tg-me.com/BookPython/3526
Last Update:
Как ускорить Python-код в 5 раз без Cython и Numba? 🚀
Сегодня я покажу вам, как можно ускорить выполнение Python-кода в 5 раз, не прибегая к сложным инструментам типа Cython или Numba. Всё, что нам понадобится, – это грамотная работа с multiprocessing
.
Проблема:
Допустим, у нас есть функция, которая выполняет вычисления для каждого элемента списка:
import time
def slow_function(x):
time.sleep(1) # Симуляция долгих вычислений
return x * x
data = [1, 2, 3, 4, 5]
results = [slow_function(x) for x in data]
print(results)
Этот код выполняется 5 секунд, потому что вычисления идут последовательно.
Решение:
multiprocessing.Pool
Используем
multiprocessing
, чтобы запустить вычисления параллельно:
from multiprocessing import Pool
with Pool() as pool:
results = pool.map(slow_function, data)
print(results)
Теперь код выполняется всего 1 секунду! 🎉
✅ Python автоматически распределяет вычисления по ядрам процессора
✅ Код остаётся читаемым и простым
✅ Работает во всех системах (но в Windows нужен
if name == "__main__"
)Итоги:
- Используйте
multiprocessing.Pool
для CPU-интенсивных задач- Это легко и быстро внедряется в существующий код
- Безопасный способ ускорения без Cython и Numba
А какие ещё способы ускорения Python-кода вы знаете? Делитесь в комментариях! 👇
👉 @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/3526