LINUX.ORG.RU

Python-to-C компилер


0

0

День добрый.

Представляю Вам пре-релиз транслятора с питона на С.

Транслирует код питона 2.6 в соответствующий сишный, и позволяет , тем самым, транслировать одиночные питоновские модули в binary dll и shared library. Полученные двоичные файлы можно использовать в проектах со стандартным 2.6 питоном.

Переваривает все конструкции языка, но имеются и некоторые несовместимости

Ссылка на проект

http://code.google.com/p/2c-python/

Кое-какое описание - у меня

http://community.livejournal.com/ru_python/281477.html#cutid1

и

http://cl2cru-2c.livejournal.com/729.html

Симпатично. Ты этот файл весь руками набирал или по грамматике скомплировал? Если первое, то гхм..., если второе, то чем именно?

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

Сейчас есть 3 JIT

1 - юзабельный но не поддерживаемый Psyco

2 - PYPY, разрабатываемый, вроде работающий, но почти нигде не используемый

3 - Unladen swallow от гугля.

Вопрос нужноти еще одного JIT ?

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

Ручками

И исходник тоже один, а не много слитых вместе файлов?

Вопрос нужноти еще одного JIT ?

Нужен не еще один, а любой который будет работать из коробки.

alexru ★★★★ ()

JIT не нужен, во-первых, это тупик, во-вторых, их действительно навалом. Вот сделать из питоновской программы нормальное нативное C приложение, которое жрет CPU и памяти столько, сколько должно жрать - это действителньо офигенно.

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

>JIT не нужен, во-первых, это тупик

Ну, дык, питон - тоже тупик. Но толпу быдлокодеров этот факт в тупик почему-то не ставит

Led ★★★☆☆ ()

ТС, скажи честно, чем это отличается от cython pure python mode? Сдается мне, что ты проделал никому ненужную работу.

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

Сейчас компилируется в модуль расширения. Мысль интересная. Просто в этом случае совсем другой вид сборки. Пока не обещаю, потому что планы такие:

Совместимость с 2.7, затем с 2.5, затем threading, затем 3.X

Вот перед 3.x это попробую сделать.

А пока - модуль расширения и вызывалка и 2-х строк

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

> ТС, скажи честно, чем это отличается от cython pure python mode? Сдается мне, что ты проделал никому ненужную работу.

Попробуй cython'ом странслировать программу с вложенными функциями и классами.

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

> Попробуй cython'ом странслировать программу с вложенными функциями и классами.

Ну что ж, действительно, анонимус был не прав. Но он еще вернется!

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

Вот сделать из питоновской программы нормальное нативное C приложение, которое жрет CPU и памяти столько, сколько должно жрать - это действителньо офигенно.

Питон жрёт память в основном на структуры объектов от чего избавиться нельзя. Да и не так много жрёт по сравнению с JIT реализациями чего угодно.

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

>Вот сделать из питоновской программы нормальное нативное C приложение, которое жрет CPU и памяти столько, сколько должно жрать - это действителньо офигенно.

Динамической памяти скомпилированный код съедает столько же, сколько и интерпр. модуль.

Плюс память на на двоичный код (но это однократно при загрузке).

Так что выигрышь только в скорости. Но это немало ?

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