Выпуск компилятора Cython 0.20 и системы проверки Python-кода Frosted 1.0.0
23 января 2014 года
Анонсирован (Архивная копия от 14 апреля 2015 на Wayback Machine) выпуск проекта Cython 0.20, в рамках которого развивается компилятор для языков Python и Cython. Язык Cython является расширенным вариантом языка Python, нацеленным на упрощение интеграции с кодом на языке Си и позволяющим создавать расширения на языке Си для проектов на языке Python также просто, как писать код на Python. Cython расширяет возможности Python средствами для прямого вызова функций на языке Си, поддерживает определение переменных с типами языка Си и позволяет компилировать итоговый код на языке Cython в представление на языке Си, которое затем собирается штатным системным компилятором.
В новой версии Cython 0.20 добавлена поддержка CPython 3.4, возможность вызова шаблонов функций С++, реализованы дополнительные оптимизации для результирующего кода на языке Си, обеспечена компиляция пакетов (__init__.py). При тестировании пакетом pybench производительность обычного Python-кода при его компиляции в Cython более чем на 30% выше, чем при использовании CPython. В некоторых тестах, прирост скорости достигает 60-90%, например, при выполнении операций if-elif-else или при работе циклов for. При использовании Cython и статических Си-типов, ускорение выполнения численных операций может достигать 100-1000 раз.
Кроме Cython 0.20, увидел свет (Архивная копия от 14 апреля 2015 на Wayback Machine) релиз Frosted 1.0.0, быстрой и простой в использовании системы проверки кода на языке Python, позволяющей выявлять распространённые логические ошибки разработчиков. В отличие от PyChecker, Frosted выявляет ошибки только путём парсинга исходных текстов, без непосредственного выполнения модулей. Frosted является форком pyflakes, созданным в ответ на стагнацию проекта и игнорирование присылаемых патчей. В Frosted устранены многие неисправленные в pyflakes проблемы, проведён рефакторинг кода, добавлена возможность выборочной проверки, позволяющей выбирать какие файлы проверять и наличие каких ошибок анализировать, изменён интерфейс командной строки (по умолчанию pyflakes молча ожидал ввода из stdin, в то время как frosted выводит ошибку и экран подсказки по опциям).
Дополнительно можно отметить выпуск компилятора Nuitka 0.5.0, позволяющего транслировать скрипт на языке Python в представление на C++, которое можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython. В новой версии продолжено развитие standalone-режима сборки, внесено множество новых оптимизаций.
Источники
править- Главная ссылка к новости (http://permalink.gmane.org/gma...) (Архивная копия от 14 апреля 2015 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.