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

Исходное сообщение
"Выпуск Cython 0.25, компилятора для языка Python"

Отправлено opennews , 27-Окт-16 07:48 
Доступен (http://www.mail-archive.com/python-announce-list@python...) выпуск Cython 0.25 (http://cython.org/), компилятора для языков Python  и Cython. Язык Cython является расширенным вариантом языка Python, нацеленным на упрощение интеграции с кодом на языке Си и позволяющим создавать расширения на языке Си для проектов на языке Python так же просто, как писать код на Python. Cython расширяет возможности Python средствами для прямого вызова функций на языке Си, поддерживает определение переменных с типами языка Си и позволяет компилировать итоговый код на языке Cython в представление на языке Си, которое затем собирается штатным системным компилятором.


Основные новшества:

-  Ускорен вызов функций Python, благодаря задействованию FastCall-оптимизаций, добавленных для CPython 3.6;


-  Добавлена поддержка системы сборки bazel (https://www.bazel.io/);

-  Начальная поддержка использования модулей Cython  в Pyston (https://www.opennet.ru/opennews/art.shtml?num=44789), реализации языка Python с JIT-компилятором;

-  Реализованы классы C++, которые могут осуществлять прямые вызовы основных методов класса;
-  Добавлена директива  cython.no_gc, позволяющая отключить сборщик мусора для классов  cdef;

-  Проведена оптимизация целочисленных операций и функции cython.inline();
-  Добавлена поддержка C++ оператора typeid;

-  В классы cdef добавлены методы def/cpdef, поддерживающие интроспекцию и построчное профилирование;

-  Обновлено расширение Cython.Distutils.build_ext, которое теперь использует команду cythonize, корректно обрабатывающую зависимости. Старый вариант расширения объявлен устаревшим, но пока доступен как  Cython.Distutils.old_build_ext.


URL: http://www.mail-archive.com/python-announce-list@python...
Новость: https://www.opennet.ru/opennews/art.shtml?num=45378


Содержание

Сообщения в этом обсуждении
"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 07:48 
А есть ли примеры его практического применения (в продакшене) в серьезных проектах? Вопроса без подкола и без издевок.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 09:25 
Ога, гугл и дропбокс перешли, кто на rust, кто на go. Типичный success story питона в эти дни.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено kjfdhgkjdhfgkjgf , 27-Окт-16 09:54 
уровни сравни где го/раст и где питон. Одно для опытных другое для начинающих. Мои симпатии к pypy

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Пингвино , 27-Окт-16 10:08 
Вот и я не понимаю, зачем питон тащать в продакшен

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 10:48 
Нет.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 13:31 
> уровни сравни где го/раст и где питон. Одно для опытных другое для начинающих.

Ну ты сам все про продакшны сказал. Нубам в больших продакшнах не место :).


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 15:00 
Как тут многие любят бросаться этим словом "продакшен". ХЗ что означает, но зато как круто звучит и поднимает ЧСВ.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 15:27 
Python исключительно для начинающих говорите? А что же его тогда так любят математики и теорфизики? NumPy, SciPy, Matplolib тому примеры.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено A.Stahl , 27-Окт-16 15:35 
>А что же его тогда так любят математики и теорфизики?

Где ты видел математиков и физиков, которые умеют программировать? Они в большинстве своём такой быдлокод хреначат, что код индийских математиков граничит, вероятно, с абсолютным злом.
Касательно программирования математики и физики "начинающие".


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено myhand , 27-Окт-16 17:10 
Математики и физики, умеющие программировать мне встречались чаще, чем программисты, умеющие читать и понимать чужой код.

> Они в большинстве своём такой быдлокод хреначат

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


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено YetAnotherOnanym , 27-Окт-16 19:13 
> Где ты видел математиков и физиков, которые умеют программировать?

На физическом факультете, где когда-то учился, в НИИ, где после этого работал. В других организациях, где доводилось бывать в то время. Поверьте, для физика или математика научиться программировать не составляет никакой проблемы.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Кармер , 28-Окт-16 09:25 
Отвечу как океанолог : любим патамуша не дали денег на Matlab. А иначе мы к этому гнусному поделию и не прикасались бы !

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Апр-18 10:01 
Ага, Matlab - вершина совершенства, ога. :))

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 31-Окт-16 04:57 
go проще питона

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 09:54 
Продакшн и Python вещи не совместимые. Жаль многие этого не понимают и миллионы людей потом страдают от тормозов и зависаний того, что не должно было выйти за пределы школьной лабы.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 10:02 
Cython используют такие известные питоновские либы и проекты, как lxml, numpy, scipy, pandas, sage

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 11:20 
И всё это от безысходности, надо заметить

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено myhand , 27-Окт-16 12:35 
Cython на всю катушку используют в SageMath.  Доложите, пожалуйста, что для вас "продакшен" - вконтактик?

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 13:34 
> Cython на всю катушку используют в SageMath.  Доложите, пожалуйста, что для
> вас "продакшен" - вконтактик?

SageMath наверное все-таки ближе к исследователям и лабам чем к продакшнам. А лабы и исследователи какое только гхэ не используют, от вольфрама до лабвью.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено myhand , 27-Окт-16 17:05 
> продакшнам

Што это?  Таки вконтактик?


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено ТТТ , 27-Окт-16 17:02 
Что угодно, вконтактик тоже подойдет, либо какие-то библиотеки которые часто и широко применяются (как, например, Qt или проект Electron). Есть исследовательские проекты, есть проекты "just for fun", много можно придумать категорий. Просто было интересно увидеть какие-то сферы, которые наиболее просто оценить не знающему Cython человеку и понять область его применения. Если сузить категорию, то да, крупные компании/средние, которые применяют язык/проект для каких-то значительных продуктов, которые доступны широкому кругу пользователей. Скорее даже примеры использования.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено myhand , 27-Окт-16 17:17 
> Что угодно, вконтактик тоже подойдет, либо какие-то библиотеки которые часто и широко
> применяются (как, например, Qt или проект Electron)

Тогда таки чем вам SageMath не угодил?  Применяется Cython там строго по назначению (о котором имеет смысл осведомляться на cython.org).



"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено ueueue , 28-Окт-16 14:09 
Вот на вскидку что собирается при помощи cython в портах FreeBSD: http://www.freshports.org/lang/cython (смотрите раздел "This port is required by: for Build"). Мы в "продакшене" используем собранный им py-libzfs.

Вообще cython идеален для быстрого написания python-биндингов к сишным либам. Это в сотни раз проще, чем писать биндинг с использованием стандартных средств python. Причем cython можно натравить на либу, он интроспектирует ее (на основе include файлов) и собирает начальный уже работащий проект, который экспортирует функции, доступные для вызова из python. Остается дописать/поправить сгенерированные им функции.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 09:40 
Это расплата за всеобъемлющую универсальность.

Радует другое: куча профессионального свободного ПО все шире интегрирует API для использования вместе с Python: Blender, GIMP, InkSacpe, Reaper, OpenOffice. LibreOffice итд итп.

Лично мне приятно что почти каждый мой административный или субд-шный скрипт (~1k строк кода), переписанный с BAT/VBS/WSH/PowerShell/BASH на самый обычный Python - работает в среднем в 8-10 раз быстрее (вместо минут - секунды).

Посему за cython, pypy, jit-ы и прочую возню не переживаю: даже если они что-то сделают плохо - хуже никому не будет.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено 1 , 27-Окт-16 10:29 
Только сменой языка получаешь на порядок быстрее скрипт ?

Это в какой вселенной ты живёшь ?


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено freehck , 27-Окт-16 11:56 
> Лично мне приятно что почти каждый мой административный или субд-шный скрипт (~1k строк кода), переписанный с BAT/VBS/WSH/PowerShell/BASH на самый обычный Python - работает в среднем в 8-10 раз быстрее (вместо минут - секунды).

Это ж как надо "хорошо" на баше писать, чтобы питон его потом обогнал. :)


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 12:24 
Секрет скорости Python, по сравнению с другими скриптовыми языками и Башем в частности - в использовании байт-кода и высокоуровневых библиотек: re, sqlite3 итп. А также в богатстве встроенной библиотеки. И это еще без многопоточности и прочих ускорялок.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено freehck , 28-Окт-16 08:34 
> Секрет скорости Python

Насмешил.

> по сравнению с другими скриптовыми языками и Башем в
> частности - в использовании байт-кода и высокоуровневых библиотек: re, sqlite3 итп.
> А также в богатстве встроенной библиотеки.

Ну нашёл, с кем соревноваться. Комбайн с тяпкой сравнил. Ты выйди сначала со своей змеюкой к Perl-у, и попробуй ему сказать то же самое. :)


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 28-Окт-16 15:58 
Я не "соревновал" Python с BASH, а лишь констатировал факт.
Другие товарищи считают что Bash априори быстрее.

Про Perl уверен - в скорости он будет если и лучше, то ненамного.
Код будет компактней на Python. Скорость разработки для меня важнее скорости выполнения.

Вот еще затравка: код на VBS - 5 кБ, время написания 15 часов. Аналог на Python - 1 кБ, время написания 3 часа. На Perl не пишу, может кто сравнит.  


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено freehck , 28-Окт-16 16:41 
> Я не "соревновал" Python с BASH, а лишь констатировал факт.
> Другие товарищи считают что Bash априори быстрее.

Ну выглядело-то это как заявка на серебяную пулю.

> Про Perl уверен - в скорости он будет если и лучше, то ненамного.

В задачах обработки текста довольно-таки намного. Сто раз уже сравнивалось.

> На Perl не пишу... Код будет компактней на Python.

Смелые выводы. Я вот уверен в обратном. Впрочем, это наверное потому, что я мало писал на Python и много на Perl, а Вы - наоборот.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 13:35 
> Это расплата за всеобъемлющую универсальность.

Делать все, одинаково хреново. Вариант.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 17:21 
А тем временем в LibreCAD 3 отказались от Python в пользу Lua.

http://github.com/librecad/librecad_3


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 28-Окт-16 16:01 
> А тем временем в LibreCAD 3 отказались от Python в пользу Lua.
> http://github.com/librecad/librecad_3

И это надо приветствовать! Грустно было бы - если бы они совсем убрали макросы. Lua хороший язык, близок к змеюке. На как 1С-ник скажу - 5% времени кодинга тратятся на ;



"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 28-Окт-16 16:01 
> А тем временем в LibreCAD 3 отказались от Python в пользу Lua.
> http://github.com/librecad/librecad_3

И это надо приветствовать! Грустно было бы - если бы они совсем убрали макросы. Lua хороший язык, близок к змеюке. На как 1С-ник скажу - 5% времени кодинга тратятся на ;



"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 10:25 
> позволяющим создавать расширения на языке Си для проектов на языке Python

костылек - Костылище


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 10:26 
питонисты смешные

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 10:27 
варят кашку, и Си сдобрят, и С++

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 10:32 
Си нынче стильно, модно, молодежно. Питонисты чеж, левые что ли? Вливаются потихоньку

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 13:38 
> Си нынче стильно, модно, молодежно. Питонисты чеж, левые что ли? Вливаются потихоньку

Так питонисты и туда вливаются как-то по левому. Лучше в яваскрипт компилить, он ближе питонистам по духу, потому что там тоже все делают через то самое место.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 16:35 
Вот тут зацепили слово "продакшен". А как вам вот Это:

- 1500 независимых разработчиков;
- программное обеспечение загружается 1000 раз в день;
- 4000 программных модулей, разработанных независимыми разработчиками;
- в 120 странах существуют компании-партнёры, занимающиеся внедрением системы.

Это ПО написано на Python, и это ПО отвоевало у компании SAP 30% рынка, в деньгах - 1,5 млрд. долларов. Точнее уменьшило их выручку на эту сумму, потому что как почти всё, написанное на Python, - свободно.

Вот это - продакшн и серьезный проект. Впрочем, если вернуться по времени к змеиным временам "корпорации добра" - молчали все в тряпочку. Потому что унижать 4/5-й по популярности язык программирования - популярно. Но недостойно айтишника. Просто не к лицу ему.  


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено daltin , 27-Окт-16 18:54 
А что за ПО, если не секрет?

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено YetAnotherOnanym , 27-Окт-16 19:43 
> А что за ПО, если не секрет?

Предположил бы, что Odoo, но она очень даже небесплатная, а с версии 9 - ещё и огороженная по самое небалуй.


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 28-Окт-16 16:08 
>> А что за ПО, если не секрет?
> Предположил бы, что Odoo, но она очень даже небесплатная, а с версии
> 9 - ещё и огороженная по самое небалуй.

YetAnotherOnanym - это да, ODOO. И она имеет бесплатную открытую Community-версию. Проект с недавних пор разделен. Большинство модулей имеют лицензию AGPL-GPL-LGPL. Платные - только небольшие фильтры и экзотика. Всё это можно написать самому.

Миллиарды долларов, я вижу, никого уже не впечатляют. Тема продакшн-непригодности не сходит с уст прогрессивного человечества... :-)



"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 21:29 
- миллионы мух

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 27-Окт-16 21:30 
> Это ПО написано на Python, и это ПО отвоевало у компании SAP 30% рынка

Эскобар.jpg


"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 28-Окт-16 21:16 
А чё редакторы забили новости про NUITKA кидать? Последняя 2015 г., а с тех пор Нуитка хорошо продвинулась, и на мой взгляд намного эффективнее чем все остальные, если нужно вытянуть из питон программы максимум производительности.

"Выпуск Cython 0.25, компилятора для языка Python"
Отправлено Аноним , 31-Окт-16 08:59 
Думаю, проблемы повышения производительности программ на Python - в большинстве случаев надуманны. Уверен что оптимизация алгоритмов и перенос части работы в более подходящие python-библиотеки - даст сопоставимый с тяжелой артиллерией эффект (чем распараллеливание, вынос кода в си-библы, задействование GPU итп).

Пример ускорения кода по сравнению с BAT/VBS/WSH/PS я привел, и ведь на моих сисадминов это никакого влияния не произвело: административные скрипты, на 80% взятие из Интернета они переписывать не будут даже из-за кратного роста скорости.

"Быстрота" нужна в очень ограниченном круге задач (процессинг итп), но там скорее нужна realtime os, где все упомянутые ЯП идут лесом. Но и здесь хватает субъективизма: обычный CPython обеспечивает опрос 5 сенсоров с интервалом в 100 миллисекунд на Pi2, ежеминутно скидывает дамп в память, крутит web-сервер, делает фото и рассылает почту с ними. Я себе плохо представляю ЯП и задачу, которую нельзя реализовать на змеюке так, чтобы не захотелось ее переписать на другом, более быстром ЯП.