В CPython появится возможность отключения глобальной блокировки интерпретатора

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3263
Зарегистрирован: 20.08.2022

#

В CPython появится возможность отключения глобальной блокировки интерпретатора
Дата публикации:Tue, 10 Jan 2023 23:17:19 +0300


Опубликовано предложение по расширению языка Python - PEP-0703, в котором рассматривается добавление режима сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Предложение сводится к оставлению по умолчанию GIL, но добавлению для его отключения сборочной опции "--without-gil". Спецификация пока находится на стадии черновика, подлежащего обсуждению. Новый режим позволит решить проблему с распараллеливанием операций на многоядерных системах, вызванную тем, что глобальная блокировка не допускает параллельное обращение к разделяемым объектам из разных потоков.

По умолчанию отключение GIL нецелесообразно в связи с накладными расходами, связанными с изменениями в сборщике мусора, системе управления памятью и примитивах для организации блокировок. Например, из-за использования подсчёта ссылок для изоляции потоков наблюдается заметное снижение производительности однопоточных сценариев (в тестовом наборе pyperformance на 10%). При этом отключение GIL может потребоваться в научных вычислениях, для которых отсутствие распараллеливания является более серьёзной проблемой, чем линейная скорость выполнения кода. Другой проблемой является несовместимость на уровне ABI сборок CPython с GIL и без него.




Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=58459

Жизнь за Нер'зула!

Ответить