🧠 Почему
🐍 tinyio — это минималистичный event loop для Python (всего ~200 строк), который работает через
Что умеет:
•
• Параллельный запуск:
• Фоновые задачи:
• Прерывание всех задач при одной ошибке
• Встроенные
Пример:
Когда нужно просто и понятно — tinyio делает то, что должен. Никакой магии.
🔗 https://github.com/patrick-kidger/tinyio
@python_job_interview
asyncio
вызывает боль? Потому что даже простая ошибка может сломать всю цепочку задач.🐍 tinyio — это минималистичный event loop для Python (всего ~200 строк), который работает через
yield
, а не await
, и делает асинхронность прозрачной.Что умеет:
•
yield
вместо await
: проще отлаживать и понимать• Параллельный запуск:
yield [task1(), task2()]
• Фоновые задачи:
yield {task1(), task2()}
• Прерывание всех задач при одной ошибке
• Встроенные
Lock
, Semaphore
, Event
, timeout
Пример:
def slow_add(x):
yield tinyio.sleep(1)
return x + 1
def main():
a, b = yield [slow_add(1), slow_add(2)]
return a + b
Loop().run(main()) # → 5
Когда нужно просто и понятно — tinyio делает то, что должен. Никакой магии.
🔗 https://github.com/patrick-kidger/tinyio
@python_job_interview
👎9❤3👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Этот трюк нужен, чтобы временно отключить принты не удаляя и не комментируя строки вручную.
На экране простой способ сделать это через контекстный менеджер — без сторонних библиотек и без комментирования строк.
import sys, os
from contextlib import contextmanager
@contextmanager
def suppress_print():
saved = sys.stdout
sys.stdout = open(os.devnull, 'w')
yield
sys.stdout.close()
sys.stdout = saved
Пример:
print("Это видно")
with suppress_print():
print("А это — нет")
print("Снова видно")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤2🥰2
Forwarded from Анализ данных (Data analysis)
Многие привычные библиотеки (pandas, NumPy, scikit-learn) можно заменить их GPU-версией, сохранив API.
Это даёт прирост скорости в десятки раз.
-
pandas
→ %load_ext cudf.pandas
-
polars
→ .collect(engine="gpu")
-
scikit-learn
→ %load_ext cuml.accel
-
xgboost
→ device="cuda"
-
umap
→ %load_ext cuml.accel
-
hdbscan
→ %load_ext cuml.accel
-
networkx
→ %env NX_CUGRAPH_AUTOCONFIG=True
🚀 Плюсы:
- Минимальные изменения кода (API почти идентичен).
- GPU-ускорение: от 10х до 100х быстрее на больших данных.
- Отлично подходит для ETL, ML и обработки сигналов.
Если ты работаешь с большими данными в Python, достаточно «заменить импорт» и получить колоссальный прирост скорости без боли и переписывания кода.
🚀 Подробнее: developer.nvidia.com/blog/7-drop-in-replacements-to-instantly-speed-up-your-python-data-science-workflows
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥1