Форум сайта python.su
Андрей СветловВсё равно остаётся из чего выбрать =)
Не только yield. Неприятно удивило, что в Cython отсутствуют class attributes. Было и еще по мелочам.
Андрей СветловСуть в том что релиз в такой комбинации можно собрать только из шела, или с помощью отдельного скрипта. ПрепроцесСор - это более менее удобное решение для поддержания совместимости.
Про release и debug - ничего не понял.
Отредактировано (Янв. 16, 2011 20:42:43)
Офлайн
Окончательно запутался. Видимо, мы совсем по разному используем Python/Cython.
Офлайн
Андрей СветловДавай распутаем, объясняй как у тебя.
Окончательно запутался. Видимо, мы совсем по разному используем Python/Cython.
Офлайн
alexx11Хорошо, я попробую первый шаг. Изложу вышесказанное, на пальцах.
Давай распутаем
Отредактировано (Янв. 17, 2011 16:15:19)
Офлайн
alexx11Полезно иметь две версии - Python и Cython. Переключать их, например, так: если есть Cython оптимизация - используем ее.
2. Выбор критических участков кода, подлежащих оптимизации.
3. Перевод этой части кода в Cython.
alexx11Пишем setup.py в котором все есть. Для сборки нужно выполнить setup.py install или setup.py develop
4. Сборка. Теперь мы имеем проект на двух языках, который надо собирать двумя различными сборщиками. Вообще говоря не сложно.
alexx11Как правило Cython модули великолепно подходят для юниттестов. Которые тоже запускаются одной командой.
5. Запуск. Тестирование.
Офлайн
Андрей Светлов Я понял, попробую подытожить в двух словах и привести сравнение.
В пользу препроцессора.
Синхронизация кода.
Разделение труда. (кодим, потом собираем.)
В пользу комплексной сборки.
Не нужен препроцессор.
Повышенная готовность, рабочей версии.
Андрей СветловВозможно, мне как новичку, который стоит в начале пути, перед выбором одного из вариантов, хочется велосипед понадёжней и побыстрей, и легче принимаются подобные решения. Поэтому я думаю таки да, ситону быть, и препроцессору тоже =)
При этом подходе не вижу необходимости в препроцессоре
Офлайн
Используя свой опыт программирования, выращенный из … (пропускаю) и приведший к си++ (как универсальному инструменту) , могу сказать, что питон самодостаточен (CPython - это от лукавого). Но питон без си - это то же самое, что полиэтиленовые пакетики без химической промышленности. Другими словами, надо быть готовым уметь при необходимости писать даже на ассемблере (а значит чухать ресурсы). Что я хочу сказать, нельзя понять интегральное уравнение, если не знаешь таблицу умножения.
Отредактировано (Янв. 17, 2011 20:03:28)
Офлайн
alexx11, мой подход не является чем-то уникальным - так работают на очень многих проектах, начиная с CPython.
Офлайн
IsemЭто как?
CPython - это от лукавого.
Офлайн
Андрей СветловCython, конечно же.
Ежели имелся в виду Cython - то утверждение тоже не верное. Очень удобный способ писать C Extensions. Один из самых лучших, ИМХО. Для плюсов еще есть альтернативы, но в мире С Cython весьма неплох.
Отредактировано (Янв. 17, 2011 20:38:18)
Офлайн