URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 93673
[ Назад ]

Исходное сообщение
"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."

Отправлено opennews , 23-Янв-14 21:01 
Анонсирован (http://permalink.gmane.org/gmane.comp.python.announce/11323) выпуск проекта  Cython 0.20 (http://cython.org/), в рамках которого развивается компилятор для языков Python  и Cython. Язык Cython является подмножеством Python, нацеленным на упрощение интеграции с кодом на языке Си и позволяющим создавать расширения на языке Си для проектов на языке Python также просто, как писать на Python. Cython расширяет возможности Python средствами для прямого вызова функций на языке Си, поддерживает определение переменных с типами языка Си и позволяет компилировать итоговый код на языке Cython в представление на языке Си, которое затем собирается штатным системным компилятором.


В новой версии  Cython 0.20 добавлена (https://github.com/cython/cython/blob/8d4d615c49e858fc61663b...) поддержка CPython 3.4, возможность вызова шаблонов функций С++, реализованы дополнительные оптимизации для результирующего кода на языке Си,  обеспечена компиляция пакетов (__init__.py). Производительность кода при использовании Cython примерно на 30% выше (https://github.com/cython/cython/wiki/FAQ#wiki-is-cython-fas...), чем при использовании CPython, в некоторых случаях, прирост скорости достигает 60-90%, например, при выполнении операций if-elif-else или при работе циклов for. При использовании статических типов ускорение выполнения численных операций может достигать 100-1000 раз.

Кроме Cython 0.20, увидел свет (http://permalink.gmane.org/gmane.comp.python.announce/11324)  релиз Frosted  1.0.0 (https://github.com/timothycrosley/frosted), быстрой и простой в использовании системы проверки кода на языке Python, позволяющей выявлять распространённые логические ошибки разработчиков. В отличие от PyChecker,  Frosted выявляет ошибки только путём парсинга исходных текстов, без непосредственного выполнения модулей. Frosted является форком  pyflakes (https://pypi.python.org/pypi/pyflakes), созданным в ответ на стагнацию проекта и игнорирование присылаемых патчей. В Frosted проведён рефакторинг кода, добавлена возможность выборочной проверки, позволяющей выбирать какие файлы проверять и наличие каких ошибок анализировать, изменён интерфейс командной строки (по умолчанию pyflakes молча ожидал ввода из stdin, в то время как frosted выводит ошибку и экран подсказки по опциям).


Дополнительно можно отметить выпуск (http://nuitka.net/posts/nuitka-release-050.html) компилятора Nuitka 0.5.0 (http://nuitka.net), позволяющего транслировать скрипт на языке Python в представление на C++, которое можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython. В новой версии продолжено развитие standalone-режима сборки, внесено множество новых оптимизаций.


URL: http://permalink.gmane.org/gmane.comp.python.announce/11323
Новость: https://www.opennet.ru/opennews/art.shtml?num=38914


Содержание

Сообщения в этом обсуждении
"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Rodegast , 23-Янв-14 21:01 
Хорошая новость. Часто им пользуюсь.

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено ip1981 , 23-Янв-14 21:41 
> обеспечена компиляция пакетов (__init__.py).

И как это понимать?


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Я , 24-Янв-14 08:17 
>И как это понимать?

Обычный пакет python имеет структуру:
mymodule\
         |
         _ __init__.py
         |
         _ myfunction_file.py
         ...  

Ну вот и компиляция и обеспечена.


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Аноним , 23-Янв-14 22:02 
>> при работе циклов for.

Векторизацию освоили или неполное вычисление? Хотя по большей части скрипты на пайтоне быстрее с++ - потому, что по-большей части на с++ пишут студенты.  


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Аноним , 23-Янв-14 23:04 
Питон пайтоном называют студенты.

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Я , 24-Янв-14 08:18 
> Питон пайтоном называют студенты.

И весь остальной мир.


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Нанобот , 24-Янв-14 11:00 
ты за весь мир не расписывайся

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Я , 24-Янв-14 11:25 
А ты мне не указывай что делать, а я так и быть, не буду говорить куда тебе идти.

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Я , 24-Янв-14 08:26 
>>> при работе циклов for.
> Векторизацию освоили или неполное вычисление?

Банально: типы не проверяются, а все остальное делает gcc.

> Хотя по большей части скрипты на пайтоне
> быстрее с++ - потому, что по-большей части на с++ пишут студенты.

Вы про это: https://stackoverflow.com/questions/9371238/why-is-reading-l... ?



"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Аноним , 23-Янв-14 22:14 
> The Cython programming language is a superset of Python

Никакое он не подмножество, учитывая, что он "расширяет возможности".


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Я , 24-Янв-14 08:19 
>> The Cython programming language is a superset of Python
> Никакое он не подмножество, учитывая, что он "расширяет возможности".

Возможности чего? Не путайте язык и его имплементации.


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Аноним , 24-Янв-14 09:47 
>superset
>Никакое он не подмножество

Там и написано: надмножество.


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Аноним , 24-Янв-14 14:03 
Было написано подмножество. Мне что, скриншоты надо делать?

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Тетраэдрный Анон , 27-Янв-14 13:48 
Скриншоты также можно подделать. :D

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено mihalych , 23-Янв-14 22:42 
Интересно, кто-нибудь пробовал компилить portage?

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено бедный буратино , 24-Янв-14 05:27 
Праздник компиляции на улице Python...

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Аноним , 24-Янв-14 05:43 
Frosted переводится как примороженный?

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Аноним , 24-Янв-14 05:44 
Как компилить JS?

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено arsenicum , 24-Янв-14 07:52 
Кто-нибудь сравнивал производительность CPython и PyPy? Нужно ли менять код, чтобы он компилировался в CPython?

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено arsenicum , 24-Янв-14 08:19 
Cython конечно же, а не CPython.

"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Я , 24-Янв-14 08:21 
> Кто-нибудь сравнивал производительность CPython и PyPy?

В разных задачах по разному.

> Нужно ли менять код, чтобы он
> компилировался в CPython?

Путаете Cython и CPython?


"Выпуск компилятора Cython 0.20 и системы проверки Python-код..."
Отправлено Cykooz , 24-Янв-14 08:27 
Производительность не сравнивал, а вот менять код может понадобится - у Cython есть некоторые ограничения (http://docs.cython.org/src/userguide/limitations.html). Но если не писать код с использованием сильной магии, то в большинстве случаев ничего менять не придётся.