to post messages and comments.

Давно не пробовал pypy, обновил версию, django как родная завелась, в скорости теперь проигрывает процентов 30 на очень простом шаблоне (раньше было больше), но факт того что все завелось очень просто радует, хотя пришлось откатить virtualenv на 1.8.2 т.к на 1.8.8 какой то баг не дает создавать окружение для pypy. Думал на минификации html будет быстрее, но всё же BeautifulSoup на PyPy пока плох.

Как еще можно повысить производительность кода, кроме использования pypy?
btw, у меня есть самописный модуль, который выполняет побитовое кодирование и вызывается достаточно часто. Запустив код, который его вызывает c pypy получил прирост производительности(на глаз процентов на 40). Но сейчас уже думаю, переписать модуль кодирования на С и через биндинги вызывать его в коде, который будет выполняться в pypy.
Кстати жуйк, через че лучше подключать такой код? Пока SWIG кажется вполне годным вариантом.

вот покрутил ради интереса PyPy — оперативки он жрет намного больше, чем Cpython и по крайней мере в работе с регулярками он не быстрее
парсинг 100 метрового лога(поиск всех записей с указанным кодом ответа через re).
PyPy:
real 0m47.248s
user 0m46.479s
sys 0m0.492s

real 1m3.570s
user 1m2.704s
sys 0m0.600s

CPython:
real 0m36.765s
user 0m36.330s
sys 0m0.120s

real 0m35.905s
user 0m35.550s
sys 0m0.144s

А как, собственно, средствами emerge устанавливать python-пакеты для PyPy? Например, хочу поставить Flask так, что бы можно было без лишних телодвижений использовать его и под обычным python и под PyPy?

Круто, PyPy 1.8 зарелизился, шустрые ребята. Теперь списки с однородными (int, float, unicode) данными работает эффективнее, жаль пока нет задач что бы протестировать на PyPy, хотя вроде как вроде автор tornadio2 приводил примеры как PyPy рвет всех =)

PyPy оживил направление ARM, хорошо видно различие производительности с JIT и без goo.gl При том что гугл дал денег (на мой взгляд мало) может когда либо увидим питон третьим языков на андройде...

2011 год на мой взгляд стал лучшим для PyPy в плане развития и минимального информационного шума, надеюсь в 2012 темп ускорится, и мы будем слышать всё чаще и чаще про движение PyPy.

иногда python очень плох. вот нашел я багу в pypy, когда у объекта делается __repr__ и тот возвращает u'%s' % u'йцукен' — происходит unicode decode error. пошел создал багу у pypy в трекере, всё должно было быть хорошо. и тут оказывается (кроме того, что уведомления до меня не доходили из-за яндекс.почты), что бага эта есть в CPython, и более того, если __repr__ возвращает юникод — вы не можете ничего делать кроме одного грязного хака внутри CPython, который позволяет вам сделать '%s' % O(), чтоб получить юникод-строку, возвращаемую repr(O()). короче, отстой.

With a __repr__ that returns an unencodable unicode string, you will get an
encoding error on CPython if you try to do anything at all, like str(O()) or
repr(O()) or print O() or `O()`. Even doing '%r' % O(). It seems that '%s' %
O() is the only thing that you can do.

Indeed, I can't believe it, but looking at the source code of CPython, there is
a special function _PyObject_Str() that is called only from '%s' formatting.
All other places call PyObject_Str() or PyObject_Repr(), which will encode the
unicode string. It makes no sense to me... What should we do? Copy this
horribly strange special case???

bugs.pypy.org

Новости с фронта "asd" += "dsa". Как известно, в CPython += быстрый, а в PyPy — медленный. Объясняется это тем, что в CPython сделан некоторый хак для ускорения (в будущем, возможно, что-то появится и в PyPy). Но суть в том, что "собирать" строку через += в питоне в принципе неправильно, потому что каждый += создает новую строку. (по иронии, хак в CPython запилил один из разработчиков PyPy).

Таким образом, собирайте вашу строку при помощи u"".join([список_строк]) и не выпендривайтесь. Ну я лично еще сделал некоторый класс UnicodeBucket, но наверное проще не выпендриваться и таки u"".join() использывать dl.dropbox.com

Зарелизился PyPy 1.6 и даже как то приятно и радосно от этого факта, всё вкуснее и вкуснее становится, надеюсь скоро в продакшене смогу этим воспользоваться.

На тему производительности PyPy vs Python.

Сегодня ночью создали гневный тикет на тему: 12 docs per sec это что ваще такое?(:
code.google.com

В общем, PyPy так же показал 12dps. Судя по профайлеру: что python, что pypy, оба упираются в _sockets. Видимо особенности реализации, но результат как-то не серьезен.

Вот такая задачка на день: попытаться улучшить ситуацию или понять почему все так плохо.

Поставил на сборку 1.5 версию. Теперь я понимаю фразу пятого шага
Enjoy Mandelbrot :-)Красиво(:
Собрался за полтора часа скушав на пике 3.5 гига памяти.

Первое на чем решил опробовать — тесты своих проектов. Ощутимого ускорения не получил, памяти стало расходоваться в два раза больше, но обнаружил плавающий баг при работе с subprocess, который не возникал с cpython:
pipe = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
input, output = pipe.stdin, pipe.stdout
while not output.closed and pipe.pool() is None:
line = input.readline()
...
почему то pipe.pool() временами докладывал, что дочерний процесс таки убит. Поправил, остался доволен(:

У проекта PyPy замечательный логотип pypy.org =) И да, вышла новая версия 1.5 Думаю уже можно попробовать перенести мою многопоточную прослойку, только надо посмотреть как себя tornado на PyPy ведет с вебсокетами.

PyPy — прекрасная вещь, но явно не хватает размера сообщества. Чувствую огромную пользу только от того, что сижу у них в IRC, задаю тупые вопросы и чувствую себя подопытным программистом) Зато вопросы типа "как сделать virtualenv или pip install?" и "почему модуль такой-то не установился" приводят к улучшению документации (причем моментальному) и так далее. Надо будет сделать "неделю PyPy", или 100 paper cuts для PyPy.

Мне лень гуглить, поэтому спрошу тут. PyPy поддерживает использование це-модулей? Просто логично, что программа на це может использовать символы любой библиотеки, но если PyPy написан на Python и скомпилирован им же, то... Как?

сраные выблядки закона мура развращенные характеристиками современных машин. да, сучечка, сейчас на десктопах гигабайты памяти. да, она сейчас стоит дешево. но конский хуй тебя проткни от пяток до макушки, это не значит, что надо ВСЕ ДЕЛАТЬ В ПАМЯТИ И ЖРАТЬ ЕЁ ГИГАБАЙТАМИ ПРОСТО ЧТОБЫ СКОМПИЛИРОВАТЬ ПИДОРСКОЕ ПОДЕЛИЕ УЕБАНОВ ПИТОНОРАСТОВ