Сарай Шкіра експериментальна ++ компілятор Python до C. Сарай шкіри приймає чисті програми на Python і генерує оптимізований C ++ код. Це означає, що в поєднанні з компілятором C ++, що дозволяє для перекладу програм на Python в високоефективної машинну мову. Для набору 16 нетривіальних тестових програм, вимірювання показують типове прискорення 2-40 по Psyco, близько 12 в середньому, і 2-220 за CPython, близько 45 в середньому (див розділ 5 тез моєї магістерської праворуч ). Сарай шкіри також виводить анотований вихідний код.
Висока продуктивність і елегантний підхід Сарай шкіри (це тільки 6000 рядків!) Прийти в ціні. По-перше, в даний час тільки приймає програми, які статично типізованих. Це просто означає, що змінні можуть тільки коли-небудь одного типу. Так, наприклад, = 1; = '1' не дозволені. Звичайно, один тип може бути абстрактним або родовим (як в C ++), так що, наприклад, = (); = B (), де А і В мають загальний базовий клас, не допускається.
По-друге, програми Python можуть на даний час не вільно використовувати стандартну бібліотеку Python. Тим не менш, деякі загальні імпорту підтримується (див * _. Ру) та багато інших можуть бути легко додані. Проблема в тому, практичний, так як в теорії, можна створювати прив'язки для більшості модулів бібліотеки. Просто обійти може бути тільки зібрати критичні частини програми Python і спілкуватися з ним через, наприклад, файлів і стандартних входом і виходом. Таким чином, «головний» програма може використовувати повний динаміка Python і стандартна бібліотека, і вся програма написана на чистому Python.
Сарай шкіра ще альфа-версія, і є деякі інші незначні, в основному тимчасовий характер, обмеження. Будь ласка, прочитайте розділ Обмеження ретельно, перш ніж намагатися компілювати програму. Єдине, що я прошу взамін для прийняття програмне забезпечення, доступне під ліцензією GPL, є те, що ви напишіть мені листа, коли ви стикаєтеся з проблемою, що не включене в список цих обмежень. Це найшвидший спосіб, щоб отримати ваш програми підтримується, так як я, як правило, не виправити проблеми, які я не знаю, о. Будь ласка, дайте мені знати, якщо ви хочете, щоб я реалізувати певні виклики бібліотечних
Що нового У цьому випуску :.
- масштабованість знову значно покращився.
- Продуктивність файлу I / O і комплексні числа був значно поліпшений.
- Три нові модулі підтримуються.
- були додані шість нових прикладів програм.
- Були і багато інших поліпшення і виправлення.
Що нового у версії 0.8:
- Додана підтримка & Quot; структура і Quot; і & Quot; масив і Quot; модулі.
- Три нові приклади були додані, в загальній складності 57.
- Приклад C64 був оновлений, і тепер більш, ніж 3000 рядків (sloccount).
- опція була додана для відображення винятків ел.пошти (shedskin х).
- Багато помилки були виправлені.
Що нового у версії 0.1 :.
- Покращена підтримка "ОС" (UNIX)
- Додавання декодера JPEG (1200 рядків) і деякі інші програми для безлічі прикладів програм. Модуль розширення виправлення.
- Покращена прапори компілятора під OS X.
- важливий тип виведення виправити.
- Покращена змінна перевантаження.
- поліпшення лиття.
- Виправлені помилки в setslice і delslice кутових випадках.
- xrange повертає об'єкт xrange, що не итератор.
- Є кілька незначних виправлень.
Що нового у версії 0.0.30 :.
- Визначається користувачем клас підтримки в додаткових модулів
- Дуже швидка реалізація комплект (FFAO).
- підтримка комплексного числа.
- Багато поліпшень форматування рядків.
- немає карти, щоб NULL замість 0 і друкує як "None".
- re.match_object.group приймає кілька аргументів.
- поліпшення лиття.
- Спадкування від BuiltIn інших, ніж виняток винятків.
- важливий тип виведення виправити, і багато інших виправлення.
Що нового у версії 0.0.29 :.
- Дата і час і ConfigParser підтримка
- STATICMETHOD та майнові декоратори.
- FreeBSD, OpenSolaris, і 64-бітна підтримка.
- GCC 4.3 виправлення.
- Підтримка для ключів відображення ('% (ключ) х .. "% some_dict).
- Поліпшення механізму імпорту. __init__ набагато менше окремого випадку.
- Багато виправлень для виклику методів предка (наприклад, Батько .__ ініціалізації __).
- Всі приклади програм в даний час компіляції, як модулів розширення.
- Є багато виправлень.
Коментар не знайдено