LINUX.ORG.RU

Ответ на: комментарий от damnemall

Ты же должен понимать, что без аннотаций типов это бесполезно. У транслятора просто нет необходимой информации. Если нужна скорость, бери pypy.

baverman ★★★ ()
Ответ на: комментарий от damnemall

Или аннотировать переменные и тогда cpython сгенерит эффективный cи код.

baverman ★★★ ()
Ответ на: комментарий от damnemall

>> У транслятора просто нет необходимой информации.

Т.е. такое в принципе невозможно?

Это довольно трудно. Вот пример того, что ты хочешь: http://shed-skin.blogspot.com/

tailgunner ★★★★★ ()
Ответ на: комментарий от damnemall

Т.е. такое в принципе невозможно?

Если такое было возможно, то питон был бы статически типизируемым языком.

baverman ★★★ ()
Ответ на: комментарий от damnemall

>> Какие чудесные свойства ожидаются у отранслированных исходников?

Скорость выполнения того, что на выходе.


Если результирующий код предполагается использовать из другого python-кода, то, я думаю, стоит взять cython и написать на нем (с использованием соответствующих типов, а не PyObject).

Если нет - может быть, проще было бы сразу на C написать?

Ваша задача - и правда CPU-bound? Если нет, то не совсем понятно, при чем здесь python и как вам поможет С.

shylent ()
Ответ на: комментарий от shylent

> Если результирующий код предполагается использовать из другого python-кода

Если нет - может быть, проще было бы сразу на C написать?

Задача - портирование множества не своих Python-проектов на C.

damnemall ()
Ответ на: комментарий от damnemall

а можно узнать зачем? В чем необходимость? Может и другой выход есть? :)

chinarulezzz ★★ ()
Ответ на: комментарий от damnemall

портирование

И да, наименее затратное по времени.

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

И присоединяюсь — смысл портирования не ясен.

baverman ★★★ ()
Ответ на: комментарий от damnemall

> Задача - портирование множества не своих Python-проектов на C.

Я думаю, такую идею можно сразу хоронить.

pevzi ★★★★★ ()
Ответ на: комментарий от damnemall

> Задача - портирование множества не своих Python-проектов на C.

Я, конечно, прошу прощения, но не следует ли ваши слова читать, как примерно следующее - «взять чужие исходники на python, 'портировать' на С и раздавать закрытые бинарники»?

shylent ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.