Умпутун
👤 SpeakerAppearances Over Time
Podcast Appearances
Так вот, есть понятная история про то, что выходит Python 3.13. У Python 3.13 два больших и серьезных изменения, но оба они опциональные. В смысле, что вы можете ими не пользоваться, и больше того, для того, чтобы ими пользоваться, нужно включить их при запуске интерпретатора отдельной галочкой.
Так вот, есть понятная история про то, что выходит Python 3.13. У Python 3.13 два больших и серьезных изменения, но оба они опциональные. В смысле, что вы можете ими не пользоваться, и больше того, для того, чтобы ими пользоваться, нужно включить их при запуске интерпретатора отдельной галочкой.
Значит, первая, самая важная штука, можно наконец-то запустить версию Python без Global Interpreter Lock, без штуки, которая делает так, что у тебя, по сути, всегда работает только один интерпретатор при переключении даже трейдов, но если таск твой, то таск твой у тебя все равно другой. Как это работает? Тот же самый интерпретатор, просто с другим набором задач.
Значит, первая, самая важная штука, можно наконец-то запустить версию Python без Global Interpreter Lock, без штуки, которая делает так, что у тебя, по сути, всегда работает только один интерпретатор при переключении даже трейдов, но если таск твой, то таск твой у тебя все равно другой. Как это работает? Тот же самый интерпретатор, просто с другим набором задач.
Тут важно понимать, что извлечение джилла из питона не делает его быстрее при мультитрейдинге. Ну, в смысле, делает, но не всегда. Дело в том, что в питоне все так оптимизировано во многом для того, чтобы даже в ситуации, когда у тебя как будто бы работает много потоков, чтобы не надо было блокировать переменные и вообще сильно проще работать с условной многозадачностью.
Тут важно понимать, что извлечение джилла из питона не делает его быстрее при мультитрейдинге. Ну, в смысле, делает, но не всегда. Дело в том, что в питоне все так оптимизировано во многом для того, чтобы даже в ситуации, когда у тебя как будто бы работает много потоков, чтобы не надо было блокировать переменные и вообще сильно проще работать с условной многозадачностью.
В случае с отключением джилла, понятное дело, что много вещей, связанных с ошибками, связанными с мультитрейдингом и попытками многозадачности при работе с переменными, будет возникать. И часть библиотек просто перестанут работать при отключении джилла.
В случае с отключением джилла, понятное дело, что много вещей, связанных с ошибками, связанными с мультитрейдингом и попытками многозадачности при работе с переменными, будет возникать. И часть библиотек просто перестанут работать при отключении джилла.
Но вы можете сейчас уже начать это дело пробовать, там можно просто ключик указать при старте питона, и получится так, что у вас будет нормально работать все, что только можно, которое работает всегда в однопоточном режиме.
Но вы можете сейчас уже начать это дело пробовать, там можно просто ключик указать при старте питона, и получится так, что у вас будет нормально работать все, что только можно, которое работает всегда в однопоточном режиме.
Вот, ключик это экспериментальный, если вам лень искать, он называется минус х, большой пробел джил равняется единичке, и как бы посмотрите, как это все для вас будет выглядеть. В целом, повторюсь еще раз, в большинстве случаев это не нужно. Для большинства пользователей это, в принципе, не имеет особенного смысла, пока это все не адаптировано для конечного потребителя.
Вот, ключик это экспериментальный, если вам лень искать, он называется минус х, большой пробел джил равняется единичке, и как бы посмотрите, как это все для вас будет выглядеть. В целом, повторюсь еще раз, в большинстве случаев это не нужно. Для большинства пользователей это, в принципе, не имеет особенного смысла, пока это все не адаптировано для конечного потребителя.
В принципе, вы можете попробовать это все позапускать, но я бы вам не рекомендовал пытаться даже выходить с этим в продакшн ближайшие несколько лет. Вторая штука, как мне кажется, более важная, это первая попытка завести в интерпретатор Python just-in-time компиляцию. Она... Ну, такая типа.
В принципе, вы можете попробовать это все позапускать, но я бы вам не рекомендовал пытаться даже выходить с этим в продакшн ближайшие несколько лет. Вторая штука, как мне кажется, более важная, это первая попытка завести в интерпретатор Python just-in-time компиляцию. Она... Ну, такая типа.
Это копи-н-патч JIT, если вы понимаете, о чем я. То есть как бы это супербыстрая конструкция по компиляции виртуального простого кода в нативный код, который работает прямо здесь, прямо сейчас. При этом нельзя ждать от этого какого-то бешеного прироста производительности.
Это копи-н-патч JIT, если вы понимаете, о чем я. То есть как бы это супербыстрая конструкция по компиляции виртуального простого кода в нативный код, который работает прямо здесь, прямо сейчас. При этом нельзя ждать от этого какого-то бешеного прироста производительности.
Точно так же, как было перед этим, вы можете попробовать собрать Python с поддержкой этой just-time компиляции и с помощью ключа точно так же его включать. Вот я, как я вам говорил, там есть минус-х большое, как способ запускать экспериментальные фичи. До этого было g равняется единице, теперь g равняется единице. Смотрите, разница небольшая, первая буква тоже другая, но тем не менее.
Точно так же, как было перед этим, вы можете попробовать собрать Python с поддержкой этой just-time компиляции и с помощью ключа точно так же его включать. Вот я, как я вам говорил, там есть минус-х большое, как способ запускать экспериментальные фичи. До этого было g равняется единице, теперь g равняется единице. Смотрите, разница небольшая, первая буква тоже другая, но тем не менее.
В целом, у меня есть мои тесты, которые показывают очень приличный прирост производительности с Just-in-Time компиляцией, но я бы тоже всерьез на это пока не смотрел, потому что количество проблем, которые у вас возникнут от его использования, они непредсказуемы. Может, просто все будет работать, а может, мы ближайшие несколько месяцев вообще этим пользоваться не сможем.
В целом, у меня есть мои тесты, которые показывают очень приличный прирост производительности с Just-in-Time компиляцией, но я бы тоже всерьез на это пока не смотрел, потому что количество проблем, которые у вас возникнут от его использования, они непредсказуемы. Может, просто все будет работать, а может, мы ближайшие несколько месяцев вообще этим пользоваться не сможем.