Python

индекс
250,37

Unladen Swallow 2009Q3

Тихо и совершенно, как говорится, незаметно, запоздало вышла ветка 2009Q3 интересного и перспективного проекта Unladen Swallow.
Если кто-то проспал все полимеры и не в курсе, то «ласточка налегке» (да-да, не только Гвидо любит Monty Python-а) — это проект сотрудников Google-а, пытающийся сделать более производительный и эффективный интерпретатор Python-а, при этом максимально совместимый с CPython (на данный момент образцом для сравнения считается CPython 2.6.1). Для этого они задействовали фреймворк LLVM, представляющий собой виртуальную машину c уже готовым JIT-компилятором и псевдобайткод для неё в виде универсального промежуточного представления между высокоуровневым языком (в нашем случае — Python) и низкоуровневой оптимизированной реализацией (С-шный код или машинные коды конкретной аппаратной платформы.)
Обещав стабильно выпускать по релизу в квартал (и именуя их соответственно), они выпустили вот уже второй релиз, в котором LLVM уже работает (самый первый релиз, 2009Q1, LLVM ещё не содержал и представлял собой в основном набор подготовительных патчей, которые с той поры фактически все уже попали в мейнстрим-ветку CPython). Если релиз Q2 был «первым блином» и кушал примерно раз в 10 больше памяти, чем CPython (но при этом, несмотря на JIT-революцию, сохраняя обратную совместимость и проходя все тесты в огромном количестве библиотек, от Twisted и Django до Numpy и Sympy), то версия Q3 уже похорошела и окрепла. Производительность поднялась по некоторым тестам до 170% от Q2; потребление памяти существенно упало, и, хотя по-прежнему оно в 2-3 раза больше, чем у CPython, но разработчики утверждают, что знают, где и что ещё пооптимизировать к версии Q4.
Но при этом, как в предыдущем релизе, разработчики, к сожалению, настоятельно не рекомендуют использовать «ласточку» для серьёзных задач. Пока это только промежуточный этап на пути к светлому будущему (в котором разработчики максимально смёржат код с CPython-ом, а то и вольют «ласточку» в него полностью),… и более того, cо стабильной веткой LLVM 2.5 и даже с «кандидатом в стабильные» веткой LLVM 2.6 «ласточка» даже не будет работать, потому что ориентирована на максимально свежий LLVM trunk.
+27
24 октября 2009, 01:23
6

комментарии (18)

0
crash #
отлично отлично!
+1
crash #
чего они его не тестят в сравнении с cpython, интересно ведь как там с JIT
0
mich_ovs #
Давно ожидаемый релиз. Да и вообще, подобное решение давно напрашивалось как замена(эволюция) CPython. На данный момент разработка серверных приложений с полноценной поддержкой многопроцессорных конфигураций весьма не просто.
0
junk #
Может быть они даже уберут Git?
0
Infernal #
Собираются в Q4 или следующих релизах
+1
spanasik #
0
junk #
это же замечательно! с нетерпением жду релиза
0
spanasik #
Да, это круто!
+2
spanasik #
Для google Python является стратегическим ресурсом, поэтому у языка впереди много хорошего. Цитата с сайта Unladen Swallow:

Our long-term goal is to make Python fast enough to start moving performance-important types and functions from C back to Python.
0
webus #
Google молодцы! И как у них ресурсов на все хватает? Главное чтоб Java не забросили. Такая тенденция пошла наверное, что за языками закрепляются серьезные компании. За Java: Sun,Oracle,IBM,HP, за Python: Google…
0
antimirov #
К сожалению, Гугл предпринимает как раз слабые усилия в этом проекте. Первоначально всего 2 работника занимались проектом в свои 20% гугловского времени. Сейчас чуть больше народу. Печально.
0
Scala #
Google в Java вкладывается куда больше, чем в Python. Тот же YouTube частично на Java перенесли.
0
Honeyman #
O_o это где это?
Или вы про YouTube Java Client? Так на мобильных платформах Java-е альтернатив нет.
0
Scala #
googlecode.blogspot.com/2009/05/guice-deuce.html

«Almost every Java-based application at Google is also a Guice-based application; the list includes AdWords, Google Docs, Gmail, and even YouTube.»

Когда смотришь все комментарии к ролику на YouTube, адрес имеет вид «www.youtube.com/comment_servlet?all_comments...» — servlet это из Java. Хотя это уже косвенное доказательство.
0
Honeyman #
О! Спасибо.
0
Shchvova #
Как жалко что не python 3. Однажды попробовав от 2.х так и отворачивает…
0
Honeyman #
Ради любопытства, а что такого уникально-вкусного вы нашли в Python 3k, что ещё не забэкпортили в 2.6/2.7?
0
Shchvova #
2.7? Я что-то пропустил…
А вообще 2 штуки — абсолютною ясность с локалями, строками, байтами.
И итерирование всего. Это основное… Еще куча по мелочам. Я уже 3 месЦа на 3й ветке пишу, и, когда приходится править старые 2х скрипты, испытываю неприятные чувства…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.