The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликован план избавления CPython от глобальной блокировки интерпретатора

29.07.2023 11:45

Руководящий совет проекта Python объявил о намерении утвердить предложение по расширению языка Python PEP-0703, в котором определяется добавление режима сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). В качестве вероятного срока реализации PEP-0703 упоминается выпуск Python 3.13, намеченный на осень следующего года.

Во внедряемом PEP-0703 определено оставление по умолчанию GIL, но добавление сборочной опции "--without-gil" для его отключения. Новый режим позволит решить проблему с распараллеливанием операций на многоядерных системах, вызванную тем, что глобальная блокировка не допускает параллельное обращение к разделяемым объектам из разных потоков. В долгосрочной перспективе (через 5 лет) интерпретатор планируется перевести по умолчанию на сборку только в режиме без глобальной блокировки, одновременно прекратив поддержку сборки с GIL.

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

Отмечается, что работа по уходу от GIL будет проведена с большой осторожностью, чтобы не повторить провала, случившегося при продвижении Python 3 - сборка без GIL должна будет обязательно сохранить обратную совместимость со старыми версиями Python, а все изменения в стороннем коде, необходимые для работы в сборках без GIL, должны работать и в сборках с GIL. Изменять нумерацию выпусков на Python 4 для сборок без GIL не планируется, так как в них будет сохранена совместимость на уровне ABI.

До полного перехода на сборки без GIL планируется добиться всесторонней поддержки данных сборок со стороны сообщества, а также предоставить дополнительные C API и Python API для обеспечения безопасной многопоточности в существующем коде. Уход от GIL будет проведён в три этапа: добавление в CPython в 3.13 (возможно в 3.14) экспериментальной опции для сборки без GIL, поддерживаемой основной командой разработчиков; перевод опции сборки без GIL в разряд пригодных для рабочих внедрений и одобрение поставки сборок без GIL по желанию дистрибутивов; переход на сборку без GIL по умолчанию и удаление кода для поддержки GIL. Прогнозируется, что переход на третью стадию может произойти как минимум через 5 лет.

  1. Главная ссылка к новости (https://discuss.python.org/t/a...)
  2. OpenNews: Выпуск Cython 3.0 и Nuitka 1.7, компиляторов для языка Python
  3. OpenNews: Опубликован Codon, компилятор для языка Python
  4. OpenNews: Выпуск языка программирования Python 3.11
  5. OpenNews: Уязвимость в Python, позволяющая вызвать системные команды из изолированных скриптов
  6. OpenNews: Стратегия параллельного поддержания веток Python 2 и Python 3 оказалась ошибочной
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59518-python
Ключевые слова: python, lock
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (190) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:52, 29/07/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –32 +/
     
     
  • 2.5, Прохожий (??), 12:06, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.7, Аноним (7), 12:08, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.10, Прохожий (??), 12:10, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +11 +/
     
     
  • 5.12, Аноним (7), 12:12, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.16, Прохожий (??), 12:18, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 7.24, Аноним (7), 12:35, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 8.34, Прохожий (??), 12:50, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 9.36, Аноним (7), 12:54, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 10.39, Прохожий (??), 13:04, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 11.52, Аноним (7), 13:19, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 12.60, Прохожий (??), 13:31, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 13.61, Аноним (7), 13:34, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 14.64, Прохожий (??), 13:41, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 15.114, Аноним (7), 21:44, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 10.120, maximnik0 (?), 01:03, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 7.103, IRASoldier_registered (ok), 21:00, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.20, ivan_erohin (?), 12:23, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 7.30, Аноним (7), 12:44, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 8.63, Прохожий (??), 13:38, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 8.73, ivan_erohin (?), 14:12, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 9.104, IRASoldier_registered (ok), 21:01, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 10.115, Аноньимъ (ok), 21:44, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 9.111, Аноним (7), 21:41, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 10.132, Аноним (132), 03:37, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 8.113, Аноньимъ (ok), 21:43, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 9.124, Аноним (1), 01:42, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 10.125, Аноньимъ (ok), 01:48, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 11.167, Аноним (7), 15:42, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 12.169, Аноньимъ (ok), 15:54, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 9.131, Аноним (132), 03:32, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 10.158, Аноньимъ (ok), 11:35, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 11.166, Аноним (7), 15:41, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 12.168, Аноньимъ (ok), 15:51, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 12.199, Аноньимъ (ok), 01:09, 01/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.144, Anonymous1 (?), 07:52, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.29, Аноним (29), 12:43, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.45, Прохожий (??), 13:11, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.69, Аноним (69), 14:05, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.75, Прохожий (??), 14:14, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 7.79, Аноним (69), 14:59, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 8.83, Аноним (83), 15:42, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 9.117, Анончик (?), 00:34, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 10.129, Аноним (83), 01:58, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 8.96, Вячеслав (??), 19:08, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 9.99, Аноним (99), 20:06, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 10.208, Аноним (208), 01:48, 02/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 9.152, microcoder (ok), 09:34, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 8.98, Аноним (98), 19:56, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.90, YetAnotherOnanym (ok), 17:25, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.147, Советский инженер (?), 09:18, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 7.149, YetAnotherOnanym (ok), 09:25, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.82, Tron is Whistling (?), 15:38, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.108, Аноним (108), 21:39, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 4.136, Аноним (136), 07:16, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.9, Rastler (ok), 12:10, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 2.11, Аноним (83), 12:10, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.15, Прохожий (??), 12:17, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +5 +/
     
     
  • 4.21, Аноним (83), 12:24, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.31, Прохожий (??), 12:46, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.37, Аноним (83), 12:54, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 7.41, Прохожий (??), 13:08, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.78, Витюшка (?), 14:49, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 5.33, Аноним (7), 12:48, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.44, Аноним (69), 13:10, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 6.49, Аноним (83), 13:18, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 7.57, Аноним (57), 13:26, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 8.62, Аноним (83), 13:36, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 9.137, Аноним (136), 07:18, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.148, Советский инженер (?), 09:23, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.127, Ааааааа (?), 01:53, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.40, Аноним (69), 13:08, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.68, Аноним (68), 14:00, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.72, Аноним (69), 14:08, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.95, Аноним (7), 18:57, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.106, жоск (?), 21:07, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 5.107, Карлос Сношайтилис (ok), 21:30, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.116, Аноньимъ (ok), 21:51, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.87, Аноним (87), 16:40, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.100, Аноним2 (?), 20:28, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.123, Аноним (123), 01:20, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.126, Аноним (1), 01:50, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.139, Аноним (136), 07:22, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 6.165, Аноним (69), 15:02, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.102, Вуся (?), 20:45, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 3.110, Аноним (-), 21:41, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.122, Аноним (123), 01:19, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.128, Ааааааа (?), 01:57, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.130, Аноним (123), 02:31, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 6.151, Советский инженер (?), 09:32, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.135, Vkni (ok), 07:07, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.143, Аноним (136), 07:31, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.150, Советский инженер (?), 09:29, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.170, Аноним (170), 17:06, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.105, IRASoldier_registered (ok), 21:02, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.109, Аноним (108), 21:40, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.118, Аноним (118), 00:35, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.145, Аноним (-), 08:17, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (97)

  • 1.2, Аноним (7), 12:03, 29/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Наконец все сишные дополнения для питона улетают в гарбедж, а без них питон превращается в унылый го.
     
     
  • 2.4, Аноним (4), 12:05, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    ничто никуда не улетает.
     
     
  • 3.6, Аноним (7), 12:07, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Всё улетает далеко и на долго, думаешь всем захочется переписывать все сишные пакеты для питона? Спойлер никто не будет этим заниматься от слова ваще.
     
     
  • 4.14, Аноним (14), 12:16, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что и зачем там переписывать? Внешние (сишние) библиотеки типа numpy  и так отдают gil на время выполнения сишного кода. Gil касается исключительно питоновского кода и исключительно многопоточности (не многопроцессорности).
     
     
  • 5.25, Аноним (7), 12:37, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. надо будет свою батарейку и писать и тестировать на двух версиях питона с гил и без гил, просто потому что. При этом наверняка будут те кто работают только с гил, те кто только без гил. А кому то точно понадобится иметь обе батарейки вместе. Короче опять проблемы на ровном месте как с питоном 2.
     
     
  • 6.56, Прохожий (??), 13:25, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Под эти две версии, предположу, попадает очень узкий круг задач. Поэтому вряд ли стоит раздувать из мухи слона. Проблемы есть, но они не космического масштаба, и уж точно не сопоставимы с Питоном 2.
     
  • 6.67, Аноним (14), 13:53, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если условный код работал без использования gil то ему как-то наплевать что его теперь и вовсе нет. Если же некий код использовал gil для синхронизации, то (о, ужас) ему теперь придется мириться с тем что gil всегда получается быстро и  гарантированно. Что делает его использование для новых версий питона попросту избыточным. Пусть пока лежит как deprecated для старых питонов.

    Отсылка ко второму питону и вовсе странная. Какую такую сишнюю библиотеку таки не портировали на третий питон? И почему питон не загнулся в то время, а наоборот, стал одним из лидеров? Отказ от gil без нарушения обратной совместимости - это самое лучшее что можно пожелать. killer feature.

     
     
  • 7.74, Аноним (74), 14:12, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты думаешь сейчас можно вспомнить ту кучу библиотек, которые по 5 лет никто не переписывал на 3-ий питон и приходилось их тащить в проде? Напомню прикол ты наверно не в курсе чтобы перейти на 3-ий питон нужно что бы все. Совсем все библиотеки, Карл! перешли на 3-ий питон, только тогда можно весь проект переводит на 3-ий питон.
     
     
  • 8.77, Аноним (14), 14:35, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    исходное утверждение выше по треду было что никто под новую версию ничего перепи... текст свёрнут, показать
     
     
  • 9.94, Аноним (7), 18:56, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Безопасной многопоточности не бывает, правильно тут сказали ... текст свёрнут, показать
     
     
  • 10.206, Vkni (ok), 20:32, 01/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Haskell STM ... текст свёрнут, показать
     
  • 10.209, Аноним (208), 01:49, 02/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Akka actors ... текст свёрнут, показать
     
  • 4.17, Аноним (83), 12:20, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Их не так много. Все биндинги и обвязка на cython, всем нормальным проектам уже надоело что всё разваливается каждый минорный апдейт по причине очередной перестановки кроватей и они написали нормально. Учитывая, что основной их код всё же не на питоне, исправления будут тривиальны. Кстати, прямо сейчас у тебя есть возможность словить сегфолт 1001 способом у pycurl, например, и гил не поможет.
     
     
  • 5.26, Аноним (7), 12:37, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот решения на основе костылей, а потом костылей костылей. Мрак.
     
  • 2.211, Аноним (211), 13:43, 02/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы читали как устроена сборка мусора в объектах Python?

    Можно же заблокировать два сравниваемых объекта, сравнить их и
    отпустить работать дальше.

    Да, возможно появиться какая-то более расширенная функция блокировки
    объектов для глубокого сравнения, но это уже на усмотрение авторов
    библиотек.

     

  • 1.23, Программист на питоне с 15 летним стажем (?), 12:31, 29/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все кто ненавидят Питон, просто вы завидуете. Пока вы там выискиваете баги при сборке многоэтажных шаблонных конструкций непрерывно таскаемых из одного проекта в другой, мы пьём смузи, ходим в спортзалы и гуляем с девчонками. GIL за всё время проходил мимо меня. Там где нужна параллельность я просто создаю новый процесс и работаю через сокеты, делов то.
    З.Ы.
    Работать должен компьютер, а не человек.
     
     
  • 2.27, Аноним (7), 12:39, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 3.112, Аноним (112), 21:43, 29/07/2023 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 4.134, Аноним (74), 04:58, 30/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.28, Прохожий (??), 12:41, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я не являюсь ненавистником Питона, но, к сожалению, есть такая тенденция, когда этот язык применяют не по назначению в виду простоты его освоения. Например, в областях, где от софта требуется производительность, отзывчивость.

    Скорее всего, ты за все свои 15 лет не принимал участия в разработке таких продуктов. На Питоне их пытаться писать - та ещё боль. Когда некоторые понимают, что Питон не для этого, переписывают всё с нуля на другом, более подходящем языке.

    Каждому языку - своя ниша.

     
     
  • 3.35, Аноним (35), 12:51, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Подтверждаю как тот, кто зарабатывает на жизнь питоном. Он не может быть правильным выбором везде, всегда и для всего.
     
     
  • 4.182, Пряник (?), 09:46, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может. А теперь потрать остаток жизни, доказывая, что я неправ. Питон - это не только CPython, а ещё и Cython, IronPython, PyPy, RustPython. Может скоро GoPython появится. Напииши своего питона :)
     
  • 3.46, Аноним (83), 13:12, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С нуля ли? Переписать прототип, выявив узкие места на ранних стадиях, он всё же позволяет. Переписывать при необходимости это нормально. Ещё более нормально переписывать только части, производительности которых не достаточно. И насчёт простоты освоения я эээ не уверен, это один из самых сложных языков на моей памяти. Скорее, применяют в виду скорости и лёгкости внедрения, наличия большого числа качественных готовых компонентов.
     
     
  • 4.50, Прохожий (??), 13:18, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Иногда с нуля. Так происходит, когда авторы на старте не понимали в итоге, на какие грабли наступят. Кажется, с Дропбоксом так было, ЕМНИП.
     
     
  • 5.54, Аноним (83), 13:24, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но был ли бы вообще дропбокс, если с самого начала делали без питона? А ютуб? А если бы у конкурентов при этом питон был? Какой-нибудь инстаграм конечно ничто не мешает сделать на чём угодно.
     
     
  • 6.58, Прохожий (??), 13:28, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    История не терпит сослагательного наклонения. Думаю, был бы. На Питоне свет клином не сошёлся. Есть куча других языков.
     
     
  • 7.172, Вячеслав (??), 17:36, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому и дропбокса скорее всего не получилось, пока выучишь эти все языки состаришся и умрёшь, а питон быстро выучили написали дробокс и привлекли инвесторов). После, конечно, занялись оптимизацией.
     
  • 7.183, Пряник (?), 09:49, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > На Питоне свет клином не сошёлся

    Я думаю, это тот самый единственный случай, для которого эта фраза была напророчена.

     
  • 6.59, Аноним (59), 13:31, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Но был ли бы вообще дропбокс, если с самого начала делали без питона? А ютуб?

    И торренты, прототип которых был реализован "в одно лицо" - не факт что были бы (теоретических проектов P2P в то время было вагон и маленькая тележка - по 40 штук на конфах представляли, а вот с реализацией не самых простых алгоритмов на "труЪ" ЯП - было не очень. Потому что на практике как-то оказывалось, что теоретики опять "забыли про овраги").

     
  • 6.65, Аноним (7), 13:41, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ютуб начинался с PHP проекта.
     
     
  • 7.66, Аноним (83), 13:45, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ютуб начинался с PHP проекта.

    Насколько быстро осознали ошибку?

     
     
  • 8.70, Аноним (7), 14:05, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как продались ютубу те сразу поняли ошибку И для ускорения те перешли на питон ... текст свёрнут, показать
     
     
  • 9.92, Аноним (7), 18:12, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Какому ютубу, гуглу они продались, лол ... текст свёрнут, показать
     
  • 3.171, Аноним (171), 17:32, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем пытаться писать на Python такие приложения, изначально понимая, что язык для этого подходит крайне слабо? Ну, это автоматически профнепригодность...
     
  • 3.195, Аноним (108), 21:43, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > есть такая тенденция, когда этот язык применяют не по назначению

    А где про это назначение можно прочитать, кроме твоих мыслей? Википедия называет его языком общего назначения, врут небось? На официальном сайте пишут, что Питон «very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together».

     
  • 2.47, 1Сник с 20тилетним стажем (?), 13:16, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Канешна-канешна, для стажа 15 хлебания непотребовалось понимания, что внутри одного процесса содание,  ресурсы, бестродействие потоков\фиберов, интеркоммуникации и мютексы\фютексы\семафоры гораздо дешевле и быстрее, чем все то же самое для процессов.
     
     
  • 3.55, Аноним (7), 13:25, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так человек дал понять что он не торопится по жизни.
     
     
  • 4.76, Аноним (69), 14:15, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А куда торопиться, пока есть люди, готовые платить питонистам зарплаты?
     
  • 3.174, Aanonymous (?), 22:08, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть огромный класс задач, которые хорошо решаются на одном ядре и в один поток. Есть широкий класс числодробильных  задач, которые не лезут в одну машинку. В обоих случаях на GIL вообще пофиг - мы работаем с процессами. А бывают приложения, где используются потоки: это либо десктоп с его отзывчивостью, либо криво состряпанные IO bound - вот им GIL иногда мешает. Питон на десктопе? Короче, выкинут и ладно - нормальные люди даже не заметят.
     
  • 2.86, Tron is Whistling (?), 16:20, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А кто ненавидит питон?
    Мне лично почти фиолетово, есть он или нет.
    Думаю, многим так же.
     
  • 2.146, Аноним (-), 08:20, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Все кто ненавидят Питон, просто вы завидуете.

    А вот и нет. Нас задолбал левый пиар всякого мусора, спам в поиске, вечно не работающие скрипты всунутые такими как вы, так что через пару лет проект собрать невозможно, вечный breakage и сотни багов, как и общее качество кода в стиле "разреботчик не парился обработкой ошибок" и "привычно упало с трейсом на 2 экрана в ран тайм".

     
     
  • 3.159, Аноньимъ (ok), 11:41, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >как и общее качество кода в стиле "разреботчик не парился обработкой ошибок" и "привычно упало с трейсом на 2 экрана в ран тайм".

    Питон то тут не при чём.
    Скорее уже сишка тут и сипипишка(привет КДЕ)

     
  • 3.173, Вячеслав (??), 17:39, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Правильные приложения падают с сегфолтом)
     
  • 3.188, Пряник (?), 14:04, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > привычно упало с трейсом на 2 экрана в ран тайм

    это в Java

     
  • 2.163, eganru (?), 13:48, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    [i]Там где нужна параллельность я просто создаю новый процесс и работаю через сокеты, делов то.[/i] - гниль ппц. Страшно представить весь рак с синхронизацией, что у Вас там в обиходе.

    По моему опыту вопросы с производительностью у Питона до сих пор не имеют хороших решений и как только проект на python упирается в производительность, то переписывают на другом языке.

     
     
  • 3.190, Аноним (190), 16:50, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А смысл? Им платят за такие решения, рыночек требует таких решений, а свои правила можешь ну своей воображаемой подруге рассказать, когда питонист в этот момент будет гулять с 10ми настоящими
     
  • 2.193, Аноним (193), 18:39, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я искренне ненавижу W завидую Python, и это выражается в том, что в сраном Pytho... большой текст свёрнут, показать
     
     
  • 3.201, BeLord (ok), 10:43, 01/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Причем тут язык, если вся проблема, что вы выбрали ту работу, которая вам не заходит, вас под дулом пистолета туда привели и к батарее приковали?-)))
    А за последние 25 лет, я много видел мусорного кода, что на Питон, что на Java EE, что на С. Проблема не в языках, а в прямых руках кодеров и мозгах архитекторов.
     
     
  • 4.204, Аноним (193), 13:45, 01/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно про такую дурацкость в сообществе я и пишу Проблемы, которые я описа... большой текст свёрнут, показать
     
     
  • 5.213, agent_007 (ok), 16:39, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Мораль: не используйте Python и его фреимворки для динамичных внутрикорпоративных проектов.

    Любопытное чтиво, но мораль несколько другая получается. Смотри:

    1. контора наняла пацанов сделать простую штуку, они сделали, штука работала
    2. контора усложнила штуку, пацаны не справились

    Мораль: дело не в инструментах, а в требованиях к продукту. С простыми требованиями справились пацаны попроще, требования подросли, пришлось нанять пацанов посложнее.

     

     ....большая нить свёрнута, показать (34)

  • 1.71, Аноним (71), 14:07, 29/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    избавятся от gil и наваяют килотонны кода синхронизации. Кому мешает эта блокировка? Там где нужен параллелизм и производительность питон даже без блокировки не актуален
     
     
  • 2.177, Онанистмус (?), 08:42, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://peps.python.org/pep-0703/ - вот тут как раз написано кому мешает GIL. Это люди из AI которые гоняют питон на тысячах ядер чтобы обучать ИИ модели. Это Google и Facebook и писать no-GIL тоже будут они - инженеры Facebook и Google. Автор Numpy сказал что уже готов к правкам для поддержки no-GIL. Судя по всему это неизбежно произойдет и на данный момент запланировано к версии питона 3.13 или 3.14 и планируют закончить в течение 5 лет.
     

  • 1.80, Аноним (80), 15:24, 29/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Смысл сего? Питон не про скорость исполнения, не про параллелизм, питон про скорость написания.
     
     
  • 2.81, Аноним (69), 15:32, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С чего кстати питонисты взяли, что скорость написания у питона больше, чем у других языков? Аргументированно, если можно.
     
     
  • 3.84, Аноним (80), 15:42, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Больше сниппетов в копилоте, лучшая обученность чатжпт, гугл барда и бинга. В нашей компании уже как полгодаумение работать с этими чатботами является обязательным требованием. Да. представьте себе, нужно уметь задавать правильнве запросы.
     
     
  • 4.175, 34 (?), 02:58, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какая прелесть, подумать и написать - нет, нахерачить как-нибудь чтоб работало, а там перепишут если надо будет, зачем вам программисты вообще? посадите реальных маkак, пусть в чатики релевантные слова пишут, получают релевантный код, и пихают его перебором, как только тесты покажут зеленые галочки - в прод
     
  • 4.194, Kenneth (?), 19:22, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А знание трудов Кнута в Вашей компании не требуют?
     
  • 3.178, Онанистмус (?), 08:53, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Скорость написания на питоне выше потому что готовых библиотек больше и они имеют простое API. Попробуй на PHP или на golang сделать генерацию речи по тексту. А вот в питоне под это уже 100500 библиотек в том числе под русский язык есть Silero AI которая генерирует очень правдоподобную русскую речь - крутая штука, советую попробовать чтобы понять за что любят python https://colab.research.google.com/github/snakers4/silero-models/blob/master/ex
    Если у вас задача только сходить в БД и сгенерировать JSON то тогда действительно питон ничем не лучше того же C# - а в данной задаче даже хуже.
     
  • 3.196, Анионим (?), 21:53, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.osp.ru/os/2000/12/178361
    Понимаю, сравнение старое, но это хоть что-то
     
  • 2.88, beck (??), 17:03, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Питон не про скорость написания, а про лёгкость (по сравнению с другими языками) понимания уже написанного ранее кода.
     
     
  • 3.89, Аноним (89), 17:20, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ваше мнение важно для нас. оставайтесь на линии.
     
  • 3.101, Аноним (99), 20:43, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И скорость написания, и лёгкость понимания.
     
  • 3.156, n00by (ok), 10:54, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я так и не понял, когда приходилось читать полурабочий код на Питоне, почему иногда переменные определяют после использования.
     

  • 1.85, Аноним (85), 15:54, 29/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > дополнительные C API и Python API для обеспечения безопасной многопоточности в существующем коде

    Это невозможно, по-крайней мере на этих языках. И нет, я не Rust ставлю в пример, а скорее какой-нибудь функциональный язык.

    Без смены парадигмы невозможно сделать "безопасную многопоточность", никто за эти десятилетия так и не смог на императивных языках. И да, я знаю что в Python "следы функциональщины", но это так же заметно как "следы орехов" в шоколадке без орехов.

     
     
  • 2.91, Аноним (7), 18:12, 29/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А чего не понятно будут две версии либ, безопасТная с гил и небезопасная без гил.
     
  • 2.180, Аноним (180), 09:11, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так они и небещопасную многопоточность не запилят. Так что если ты прочитал сикп - наскоро запиливай новый не обременённый фичами язычок с интерпретатором (и следами орехов), делай к нему дискорд-сервер и зови туда как можно больше анимечников и брони - станешь новым Гвидо и заработаешь себе на безбедную старость. И книжек у орейлли не забудь настругать вместе с курсами на скиллбохе.
     

  • 1.121, anonymous (??), 01:18, 30/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Запилить новый сборщик, новый режим компилятора, чтобы отказаться от GIL. После этого отвалятся все сишные модули, и придётся для их поддержки запилить нативный интерфейс.

    Зачем так извращаться, если проще сразу перевести питон на платформу JVM. Ну разве что придётся транслятор написать ещё один, но это проще чем существующий питон перетряхивать.

     
     
  • 2.153, Аноним (153), 09:45, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >проще сразу перевести питон на платформу JVM

    Было 2 таких проекта. Jython  (сдох) и GraalPython (абсолютно офигенен, всем рекомендую, только недоделан до сих пор).

     
  • 2.155, Аноним (14), 10:43, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Исчо один иксперд по сишним модулям для питона. Этот требует запилить для них нативный интерфейс. Уважаемый, такой интерфейс встроен в питон с незапамятных времен и называется ctypes. Позволяет дергать сишнюю библиотеку из питона, безо всякого участия со стороны сишней библиотеки (ничего даже не компилируя). Открою секрет - множество сишних библиотек именно так и опитонизировано. Вот с приплюснутыми это не проканает, но это тема бинарной совместимости разных компиляторов плюсов.
     
     
  • 3.179, Аноним (180), 09:06, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Позволять-то он позволяет, но только вот большая (если не большая) часть модулей вкорячивается со стороны си.
     

  • 1.154, Аноним (154), 10:24, 30/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошая статья, которую должен прочртать каждый: https://kipp.ly/jits-impls/
     
     
  • 2.157, n00by (ok), 10:58, 30/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Пожалуйста, указываете названия статей рядом со ссылкой. How JIT Compilers are Implemented and Fast: Pypy, LuaJIT, Graal and More
     

  • 1.164, Аноним (164), 15:00, 30/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    С одной стороны увеличение производительности всегда хорошо. Но с другой это усилит порочную практику писать критичные к производительности приложения на Python вместо ориентированных на производительность языков.
     
  • 1.176, Аноним (-), 07:58, 31/07/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.181, Пряник (?), 09:41, 31/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Во-первых: непонятно в чём трудность написать что-то на Си с параллельным доступом к... структурам? Вроде все объекты в Питоне - это структуры в Си. Ведь целый Линукс на Си написан, и такой проблемы не слышал.

    Во-вторых: сколько нытья с этого GIL, при том, что он мешает только, если параллельно делать вычисления на чистом Python (CPU-bound задача), а большинство задач на чистом Python являются I/O-bound (например, запрос в БД). CPU-bound задачи выносят в отдельные расширения (Numpy), которые умеют отпускать GIL.

    Можно разбить задачу на отдельные процессы (например, asyncio + потоки + процессы). Запуск процессов дороже тредов/микротредов, но на процессы GIL никак не влияет.

     
     
  • 2.185, anonist (?), 12:49, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    отсутсвие прямого наследование/полиморфизма мешает, в остальном можно и послать С++ подальше...
     
  • 2.189, Пряник (?), 14:16, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там в pep-0703 реально хотят к козе боян пришить. Большие дяди платят за AI/ML. Гвидо вовремя свалил :)
     
     
  • 3.198, Вы забыли заполнить поле Name (?), 22:07, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Гвидо вовремя свалил :)

    Куда? Он же вернулся несколько лет как.

     
     
  • 4.202, Пряник (?), 11:36, 01/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да? Ну круто всё равно! Ni!
     
  • 2.191, Аноним (14), 17:40, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ведь целый Линукс на Си написан, и такой проблемы не слышал.

    Вот и выросло поколение не слышавших про big kernel lock. Его выпилили  к ядру 3.0 в 2011 году.

     
     
  • 3.192, Пряник (?), 17:47, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот и услышал :)
     

  • 1.184, anonist (?), 12:46, 31/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я не питонист поэтому спрашиваю
        threads    = list(range(8))
        threads[0] = threading.Thread(target=self.collect_a)
        threads[1] = threading.Thread(target=self.collect_b)
        threads[2] = threading.Thread(target=self.collect_c)
        threads[3] = threading.Thread(target=self.collect_d)
        threads[4] = threading.Thread(target=self.collect_e)
        threads[5] = threading.Thread(target=self.collect_f)
        threads[6] = threading.Thread(target=self.collect_g)
        threads[7] = threading.Thread(target=self.collect_h)
    это что феик? они будут исполнятся последовательно?
    тогда зачем трединг вообше? для будушего зарезервиловали?
     
     
  • 2.187, Пряник (?), 14:00, 31/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > тогда зачем трединг вообше? для будушего зарезервиловали?

    Для асинхронности. Параллельность и асинхронность вещи ортогональные.

     
  • 2.200, Вячеслав (??), 07:21, 01/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если гил не отпускается то последовательно, если отпускается то параллельно.
     

  • 1.186, Аноним (186), 12:53, 31/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Гвидо и ко догадались выпилить GIL из Питона.
    Шёл 2023 год.
     
     
  • 2.205, Аноним (205), 20:30, 01/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Давно догадывались, но не решались из-за поломки огромного количества питонячьего кода.
     

  • 1.197, Вы забыли заполнить поле Name (?), 22:05, 31/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >  В долгосрочной перспективе (через 5 лет) интерпретатор планируется перевести по умолчанию на сборку только в режиме без глобальной блокировки, одновременно прекратив поддержку сборки с GIL

    То есть получаем 2 версии опять... А говорили, что ошибку c python3 больше не повторят.

     
     
  • 2.203, Пряник (?), 11:45, 01/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да пусть хоть 1000 версий питона будет в системе. Опенсорс - это свобода. А тянуть протухшее и никому ненужное легаси - это прерогатива винды (ActiveX, COM, DCOM, WMIC, DDE и другие никому непонятные слова).
     
     
  • 3.207, Oe (?), 00:52, 02/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Из за таких как ты, простой смертный перебирает 1000 версий питона чтобы запустить какой то софт который понадобился один раз в полтора года... А всё из за того, что кому то лень в .exe бинарник. Выеживаются как будто существует более чем полторы архитектуры и нужна кроссплатформенность.
     
     
  • 4.210, Пряник (?), 09:20, 02/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А тебя не смущает 100500 версий .NET, DirectX и других библиотек в системе и ещё отдельно в папке с каждой программой, потому что разрабы не хотят системные использовать? Нет, потому что это просто файлы, которые лежат и никого не трогают. Также, как и питон.
     
  • 4.212, Аноним (180), 11:37, 03/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так можно хотя бы pyc линковать, но у них лапки.
     

  • 1.214, burjui (ok), 22:41, 09/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это, безусловно, хорошее дело. Однако, по моему мнению, когда нужны параллельные вычисления, Python — последнее, что должно прийти на ум адекватному разработчику. Корректная реализация параллельных вычислений и так достаточно сложна, чтобы её ещё больше усложнять динамической типизацией. А ещё я боюсь, как бы типичные погромисты не начали на радостях всё писать на Python: мол, а чё, все же ядра загружены, нафиг париться с оптимизацией говнокода.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру