Хорошо или плохо иметь GIL?(и почему).
Ни то, ни другое.Это необходимо для синхронизации потоков.
Новый GIL лучше?Если да, то как?
Проводили ли вы какие-либо тесты?Если нет, то, возможно, вам следует (1) выполнить тест, (2) опубликовать тест в вопросе и (3) задать конкретные вопросы о результатах теста.
Обсуждение GILв некотором смысле, способы ручного волочения в значительной степени являются пустой тратой времени.
Однако обсуждение GIL в конкретном контексте вашего теста может привести к решению вашей проблемы с производительностью.
Вопрос, однако, почему CPython не просто клонирует интерпретатор, как это делает Perl, пытаясь устранить необходимость в GIL?
Читать это: http://perldoc.perl.org/perlthrtut.html
Во-первых, Perl didnне поддерживает темы вообще.В старых интерпретаторах Perl был модуль с ошибками, который не работал должным образом.
Во-вторых, более новый интерпретатор Perl имеет эту функцию.
Самое большое различие между Ithreads Perl и старым стилем 5.005Многопоточность, или, в этом отношении, большинству других систем многопоточности, состоит в том, что по умолчанию никакие данные не передаются.Когда создается новый поток Perl, все данные, связанные с текущим потоком, копируются в новый поток и впоследствии становятся частными для этого нового потока!
* 1032.Модель потока Perl принципиально отличается.