Size: a a a

2021 November 13

T

Tishka17 in Python
Мм?
источник

EE

Edvard Elric in Python
Го
источник

EE

Edvard Elric in Python
Я сеньер если что
источник

EE

Edvard Elric in Python
Очень. Пьянвй сеньор
источник

SM

Sergey Magochkin in Python
Трезвые сеньеры редкость
источник

IC

Igor 🐈 Cuba in Python
Особенно питонизды
источник

RP

Ruslan Popov in Python
скажи, что тебя не пустили к людям там ))
источник

МС

Максим Скуйбида... in Python
Всем привет. Подскажите, пожалуйста,
количество одновременных операций, запущенных с помощью loop.run_in_executor ограничен количеством ядер?
источник

N

Noname in Python
это смотря какой executor
источник

МС

Максим Скуйбида... in Python
ThreadPoolExecutor
источник

N

Noname in Python
ну тогда не ограничен
источник

МС

Максим Скуйбида... in Python
у меня 4 ядра с гипертредингом. Для теста запустил 20 функций, которые блокируют выполнение

def blocking_code(n: int, seconds: int):
   import time
   import logging
   logging.warning(f"starting blocking {n}")
   time.sleep(seconds)
   logging.warning(f"stop blocking {n}")
   return


async def start_thread_blocking_operations():
   coros = [run_in_threadpool(partial(blocking_code, n, 5)) for n in range(1, 20)]
   await asyncio.gather(*tasks)


и по логам было чётко видно, что 8 раз пишется f"starting blocking {n}",
затем ожидание в 5 секунд,
8 раз это f"stop blocking {n}"
и дальше снова всё по кругу, пока все 20 не пройдёт группами по 8
источник

DK

Dima K in Python
Мужики задайте мне жестоких вопросов как на интервью у мидлов+
источник

МС

Максим Скуйбида... in Python
понял проблему. По умолчанию в ThreadPoolExecutor ставится max_workers=os.cpu_cunt()+4, что для меня  8+4=12. Увеличил max_workers и всё ок
источник

ВЩ

Взщз Щщщхш in Python
в данном случае количество ядер неважно — это же не CPU-bound вычисление
источник

ВЩ

Взщз Щщщхш in Python
а с CPU-bound придётся на процессы разбивать
источник

МС

Максим Скуйбида... in Python
а если это будут запросы в бд это будет CPU-bound или чем то другим?(если другим, то подскажите чем, пожалуйста, для развития)
источник

ВЩ

Взщз Щщщхш in Python
Запрос в базу на другом компьютере — I/O-bound.
Запрос в базу на своём компьютере — I/O-bound (запрос на стороне базы тоже не бесплатный, но уже в другом процессе).
Увеличить изображение в 2 раза — CPU-bound.
Посчитать факториал от 1000 — CPU-bound.
источник

МС

Максим Скуйбида... in Python
спасибо, понял теперь
источник

ВЩ

Взщз Щщщхш in Python
Ну, тут немного сложнее. Когда спишь — это не ввод-вывод, но идея та же.
источник