Ъ

!Ъ:

Новые фичи:

  • f-строки теперь ещё круче
  • какой-то буффер протокол, беглый взгляд на PEP 688 зацепился за два новых метода __buffer__ и __release_buffer__
  • новое API для дебага/профилирования
  • суб-интерпретаторы с отдельным GIL
  • более подробная ругань об ошибках
  • ускорение на 5%

Также говорят, что теперь python работает с линуксовым perf

https://docs.python.org/3.12/howto/perf_profiling.html#perf-profiling

  • ThePlayerZeroOP
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    суб-интерпретаторы

    прочитал как суккубы, лол

    ускорение на 5%

    как-то не впечатляет, мда

    • crypt
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      как-то не впечатляет, мда

      зато каждый релиз!)

    • crypt
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      мне заменить твою новость на текст с опеннета или те так больше нравится?

      • ThePlayerZeroOP
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Если заменить новость на копипасту с опеннета, то пропадёт мой краткий пересказ. С другой стороны, читатели выиграют от прочтения текста с opennet, поскольку он хороший и подробный.

        Предлагаю просто добавить в подвал новости “Подробности на opennet” со ссылкой на

        https://www.opennet.ru/opennews/art.shtml?num=59857

        Либо, можешь вообще ничего не делать, поскольку теперь эта ссылка всё равно засветилась в ветке

        • crypt
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          Выпуск языка программирования Python 3.12

          После года разработки опубликован значительный выпуск языка программирования Python 3.12. Новая ветка будет поддерживаться в течение полутора лет, после чего ещё три с половиной года для неё будут формироваться исправления с устранением уязвимостей.

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

          • crypt
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            3 years ago

            Среди добавленных в Python 3.12 новшеств:

            • Повышена гибкость разбора f-строк (форматируемые литералы с префиксом 'f'), позволившая избавиться от многих ограничений. Например, внутри f-строк теперь можно указывать любые допустимые для Python выражения, включая многострочные выражения, комментарии, обратные слэши и escape-последовательности для Unicode. Кроме того, во внутренней строке теперь допускается повторное использование тех же кавычек, что и в обрамлении f-строки (т.е. внутри теперь повторно можно использовать двойные кавычки, не переходя на одинарные). Повышена информативность сообщений об ошибках в f-строках, в которых теперь указывается точное место в строке, вызвавшее ошибку.

            Например в Python 3.12 допускаются следующие конструкции:

            print(f"This is the playlist: {“\n”.join(songs)}“)print(f"This is the playlist: {”\N{BLACK HEART SUIT}“.join(songs)}”)print(f"This is the playlist: {", “.join([…‘Take me back to Eden’,# My, my, those eyes like fire…‘Alkaline’,# Not acid nor alkaline…‘Ascensionism’# Take to the broken skies at last… ])}”)

            • Для повышения эффективности использования ресурсов многоядерных систем реализована поддержка изолированных субинтерпретаторов и отдельных глобальных блокировок (GIL, Global Interpreter Lock) для разных интерпретаторов внутри процесса (CPython позволяет в одном процессе выполнять сразу несколько интерпретаторов). В текущем виде возможность пока доступна только через C-API (в Python API поддержка появится в следующей значительной ветке).

            • В Python-коде добавлена возможность использования протокола buffer. Классы, предоставляющие метод "__buffer__()", теперь могут использоваться как типы, напрямую работающие с бинарными данными в памяти.

            • Предложен модуль sys.monitoring для отладки и профилирования, позволяющий с минимальными накладными расходами отслеживать такие события в CPython, как вызовы, возвраты из функций, выполнение произвольных строк кода, исключения и переходы.

            • В интерпретаторе реализована поддержка подсистемы ядра Linux perf, позволяющая определять имена Python-функций при профилировании при помощи утилиты perf (ранее в трассировках определялись только имена Си-функций).

            • Повышена информативность сообщений об ошибках и расширен спектр исключений, предлагающих рекомендации по устранению опечаток. Например, теперь выводятся рекомендации по импорту забытых модулей стандартной библиотеки, показываются подсказки по добавлению префикса "self." в методах, определяется написание "import x from y" вместо "from y import x" и т.п.

    • PhysShell
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      прочитал как суккубы, лол

      Когда прочитал слишком много постов от @xwicked. Воздерживаться надо!

      • xwicked
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Когда прочитал слишком много постов от @xwicked. Воздерживаться надо!

        Ну-ну-ну! 🤨

  • odalist
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    ускорение на 5%

    А почему не на 15%?