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

GIL в Python 3.1
Кто-нибудь знает судьбу Global Interpreter Lock в Python 3.1 против многопоточной интеграции C++?
13150 просмотров
schedule 30.03.2022

Будет ли замороженный двоичный файл Python обращаться к локальному интерпретатору и глобальной блокировке интерпретатора (GIL)?
Я работаю на многоядерной машине Linux, на которой я просто вызываю один и тот же сценарий Python с помощью интерпретатора в командной строке (на самом деле просто «python script.py») несколько раз одновременно. Я вижу, что производительность намного...
105 просмотров
schedule 01.03.2022

Понимание python GIL — привязка ввода-вывода по сравнению с привязкой к процессору
Из документации по потокам python . В CPython из-за глобальной блокировки интерпретатора только один поток может одновременно выполнять код Python (даже несмотря на то, что некоторые библиотеки, ориентированные на производительность, могут...
3517 просмотров
schedule 23.11.2022

Ошибка параллельной обработки KMeans
Я запускаю k-means для большого набора данных. Я настроил это так: from sklearn.cluster import KMeans km = KMeans(n_clusters=500, max_iter = 1, n_init=1, init = 'random', precompute_distances = 0, n_jobs = -2) # The following line computes...
1914 просмотров

Как я могу использовать GIL для словаря в многопоточном приложении?
Я столкнулся с ошибкой 'RuntimeError: словарь изменил размер во время итерации' при итерации по словарю в потоке, который вставляется в другой поток в Python 2.7 . Я обнаружил, что с помощью Global Intrepreter Lock мы можем заблокировать объект в...
329 просмотров
schedule 19.04.2022

Влияют ли GIL на «локальные [n]» приложения pyspark?
Обычно python плохо работает с многопоточностью из-за глобальной блокировки интерпретатора. Влияет ли это также на приложения pyspark, работающие в многопоточном локальном режиме (local[n])?
410 просмотров
schedule 20.06.2023

Как я могу создать длинную блокировку GIL
Я создаю REST API на Python, используя Python 2.6, Flask для 64-битной Linux. Меня попросили определить, как GIL может повлиять на производительность этой службы. Что, если произойдет что-то, что заставит интерпретатор заблокироваться на несколько...
70 просмотров
schedule 26.02.2022

Как обернуть цикл обработки сообщений обратными вызовами с помощью boost::python (не забывая о GIL)
Я хочу обернуть существующую библиотеку C++, которая включает цикл блокировки сообщений и вызов функций обработчика для Python , используя boost::python . Например.: import my_boostpython_lib def my_handler_fn(): do_something() md =...
125 просмотров
schedule 14.02.2023

как spacy-io использует многопоточность без GIL?
Ссылаясь на этот пост Многопоточный НЛП со Spacy pipe , в котором говорится об этом, а здесь с https://spacy.io/ from spacy.attrs import * # All strings mapped to integers, for easy export to numpy np_array = doc.to_array([LOWER, POS,...
1808 просмотров
schedule 04.04.2023

Prange Cython не улучшает производительность
Я пытаюсь улучшить производительность некоторых метрических вычислений с помощью Cython prange . Вот мои коды: def shausdorff(float64_t[:,::1] XA not None, float64_t[:,:,::1] XB not None): cdef: Py_ssize_t i Py_ssize_t n =...
867 просмотров
schedule 23.10.2022

Многопоточность Python считывает буфер памяти только для чтения в обход GIL
У меня есть много файлов на диске, которые нужно прочитать, первый вариант - использовать многопоточность, он очень хорошо работает на SSD. (когда потоки заблокированы IO, он выпустит GIL) Но я хочу добиться аналогичной или более высокой скорости...
883 просмотров
schedule 05.01.2023

Многопоточность boost.python С++
Я пишу программу на Python, включающую модуль C++ ( .so , используя boost.python ). Я запускаю несколько потоков Python, которые запускают функцию C++. Вот как выглядит код C++: #include <boost/python.hpp> using namespace boost; void...
2417 просмотров
schedule 29.04.2023

Как определить, содержит ли функция GIL?
Есть ли надежный способ проверить, удерживает ли функция (не выпускает) GIL на протяжении всего ее выполнения? Если да, то что это за метод? Например, я хочу определить, содержат ли GIL алгоритмы получения ключей из hashlib ? Я подумал, что могу...
816 просмотров
schedule 26.02.2023

Вызов функций Python из рабочих процессов MATLAB
Я пытаюсь запустить сценарий MATLAB с использованием parfor, который запускает модель simulink параллельно с помощью функции sim, и эта модель simulink содержит функциональный блок MATLAB. Функция, определенная в этом блоке, вызывает функцию...
236 просмотров
schedule 01.01.2023

Вложенные циклы с cython для обработки изображений
Я пытаюсь перебрать 2D-изображение, содержащее данные о глубине с плавающей запятой, оно имеет несколько нормальное разрешение (640, 480), но python слишком медленный, поэтому я пытался оптимизировать проблему с помощью cython. Я пытался...
436 просмотров
schedule 19.03.2023

Нужен ли Python GIL, если расширение однопоточное
Я пишу расширение C++ для своего приложения Python. Я понимаю, что Python GIL используется для предотвращения одновременного доступа нескольких потоков к PyObject. Тем не менее, мои вопросы заключаются в том, что мой код расширения является...
86 просмотров

Как asyncio.sleep не блокирует поток?
Я снова и снова читаю «Свободный Python» Лучано Рамальо, но не мог понять поведения asyncio.sleep внутри asyncio. В одной части книги говорится: Никогда не используйте time.sleep в сопрограммах asyncio, если вы не хотите блокировать основной...
1417 просмотров
schedule 21.01.2024

Python: задачи с интенсивным использованием ЦП в нескольких потоках
Предположим, у меня есть этот класс: class Foo: def __init__(self): self.task1_dict = {} self.task2_dict = {} def task1(self): for i in range(10000000): # update self.task1_dict def...
797 просмотров

Подсчет ссылок в памяти с помощью nogil
Я не совсем понимаю, как выполняется подсчет ссылок с памятью в больших/длинных разделах ног. Давайте предположим, что в основном весь мой код - это nogil, за исключением создания глубокого представления numpy-array-to-memoryview. Представление...
79 просмотров
schedule 21.10.2022