Вопросы по теме 'gil'

Почему в виртуальной машине Java нет GIL? Почему он так нужен Python?
Я надеюсь, что кто-то сможет дать некоторое представление о том, что принципиально отличается от виртуальной машины Java, которая позволяет ей красиво реализовывать потоки без необходимости глобальной блокировки интерпретатора (GIL), в то время как...
18399 просмотров
schedule 07.09.2022

Действительно ли Python GIL рассчитан на интерпретатор?
Я часто вижу, как люди говорят, что GIL предназначен для интерпретатора Python (даже здесь, в stackoverflow). Но то, что я вижу в исходном коде, похоже, что GIL - это глобальная переменная, и поэтому существует один GIL для всех интерпретаторов в...
1201 просмотров
schedule 04.01.2023

Как избежать предупреждения gcc в расширении Python C при использовании Py_BEGIN_ALLOW_THREADS
Самый простой способ манипулировать GIL в расширениях Python C — использовать предоставленные макросы: my_awesome_C_function() { blah; Py_BEGIN_ALLOW_THREADS // do stuff that doesn't need the GIL if (should_i_call_back) {...
761 просмотров
schedule 22.09.2022

Python: построить некоторые данные (matplotlib) без GIL
моя проблема, конечно, в GIL. Пока я анализирую данные, было бы неплохо представить некоторые графики между ними (чтобы не было слишком скучно ждать результатов). Но GIL предотвращает это (и это приводит меня к тому, что я задаюсь вопросом, был ли...
727 просмотров

Почему Python math.factorial плохо работает с потоками?
Почему math.factorial ведет себя так странно в потоке? Вот пример, он создает три потока: нить, которая просто спит некоторое время поток, который увеличивает int на некоторое время поток, выполняющий math.factorial для большого числа....
758 просмотров

Использование GIL в качестве пула потоков
Примечание. У меня недостаточно знаний по этой теме, поэтому я могу делать некоторые наивные предположения. Предположим, у вас есть функция, выполняющая блокирующий ввод-вывод. Вам нужно запустить эту функцию n раз. Если бы вы просто создавали...
219 просмотров

Является ли concurrent.futures лекарством от GIL?
Я просто искал эту новую реализацию, и я использую python 2.7, я должен установить это , поэтому если я воспользуюсь им, я забуду слово GIL на CPython?
7370 просмотров
schedule 26.06.2023

Выпускает ли использование модуля подпроцесса python GIL?
При вызове бинарного файла Linux, который занимает относительно много времени через модуль Python subprocess , освобождает ли это GIL? Я хочу распараллелить некоторый код, который вызывает двоичную программу из командной строки. Лучше...
4744 просмотров

PyQt, QThread, GIL, графический интерфейс
У меня есть графический интерфейс и программная логика, написанная на Python. Я запрашиваю информацию из Интернета, вызывая urllib.requests (и так далее) очень часто, и это вызывает проблему, когда графический интерфейс не отвечает, но эти вызовы...
2929 просмотров
schedule 22.02.2024

Потоки Python и GIL
Допустим, у меня есть поток и основная часть программы. Из-за GIL один поток должен работать одновременно (а не симуляционно)? Но что, если один из потоков представляет собой бесконечный цикл (или оба, если уж на то пошло)? Будут ли эти два...
393 просмотров
schedule 24.05.2023

Как такой код выполняется параллельно, несмотря на GIL?
Это все о Python2.7 У меня следующий вопрос: from futures import ThreadPoolExecutor def test(): while True: i = 4 executor = ThreadPoolExecutor(max_workers=2) executor.submit(test) executor.submit(test) Поэтому, когда я...
72 просмотров
schedule 06.01.2023

Отсутствие проблем с производительностью с потоковой передачей и глобальной блокировкой интерпретатора Python. Масштабируемость?
У меня не было проблем с производительностью с Python Global Interpreter Lock. Мне пришлось сделать несколько вещей поточно-ориентированными - несмотря на распространенные советы, GIL автоматически НЕ гарантирует потокобезопасность - но у меня есть...
86 просмотров
schedule 28.04.2022

Производительность Python — лучший подход к параллелизму
Я реализую скрипт Python, который должен отправлять более 1500 пакетов параллельно менее чем за 5 секунд каждый. Вкратце, что мне нужно: def send_pkts(ip): #craft packet while True: #send packet time.sleep(randint(0,3))...
1103 просмотров

Путаница с термином ввод-вывод при использовании в разных настройках и в отношении GIL
Кажется, когда я гуглю, что такое ввод-вывод, я получаю ответы, которые показывают, что это означает «ввод» и «вывод». Я вижу блоги о Python под названием «Python File I\O — Part 19, Advanced File Input and Output». Если я перейду к документации...
479 просмотров
schedule 29.06.2022

Метод печати и GIL
У меня есть многопоточная программа, и недавно я столкнулся с интересным явлением. Если я вызову метод print в рабочем потоке, программа станет очень реактивной. В этом нет ничего сложного, просто вызов метода print решает все проблемы....
161 просмотров
schedule 27.12.2022

Всегда ли поток, привязанный к процессору, требует GIL в Python?
Я просматривал слайды Дэвида Бизли, связанные с GIL, пытаясь понять, что вызывает переключение потоков в Python. Однако многое выше моего понимания. http://www.dabeaz.com/python/UnderstandingGIL.pdf Кажется, что примерно через 100 тиков...
43 просмотров
schedule 04.09.2022

Ошибка компиляции при использовании метода перемещения в Cython
Мой вопрос аналогичен заданному здесь - Передача вектора C++ в Numpy через Cython без автоматического копирования и управления памятью Я также получаю ошибку сегментации, но прежде чем я смогу это исправить, у меня есть некоторые ошибки компиляции,...
279 просмотров
schedule 15.07.2022

Что такое время выполнения в контексте Python? Из чего он состоит?
В контексте этого вопроса https://stackoverflow.com/questions/3900549/what-is-runtime/3900561 Я пытаюсь понять, из чего будет сделана среда выполнения Python. Я предполагаю: Процесс Python, содержащий все переменные времени выполнения....
4230 просмотров

Может ли Python декодировать JSON в параллельных потоках?
В мире API кажется, что многие приложения Python тратят больше времени на декодирование JSON, чем что-либо еще. Однако кажется, что все декодеры JSON блокируют GIL во время декодирования, а это означает, что невозможно ускорить декодирование JSON с...
123 просмотров
schedule 12.03.2023

Python: делать вещи параллельно и логировать с помощью loguru
Я пишу службу Python, которая должна заняться машинным обучением и опубликовать несколько сообщений в Solace. Поскольку некоторые библиотеки машинного обучения не выпускают GIL, я считаю, что не могу использовать потоки. Я пытался...
75 просмотров
schedule 05.05.2023