Посты с тэгом pypy


[Перевод] Как сделать ваш код в 80 раз быстрее

Всем бобра!

У нас стартует третий набор на курс «Разработчик Python», а значит, что впереди и открытый урок, которые у нас частично замещают староформатные дни открытых дверей и где можно ознакомится с интересным материалом от наших преподавателей, и то, что мы нашли очередной интересный материальчик. На этот раз по ускорению «змеиного» кода :)

Поехали.

PyPy способен ускорить код в 2 раза, что радует очень многих людей. Хочу поделиться короткой, личной историей, доказывающей, что PyPy способен на большее.

ДИСКЛЕЙМЕР: это не чудодейственное средство на все случаи жизни, да, сработало конкретно в этом случае, но может оказаться не таким эффективным во многих других. Однако метод все равно интересный. Более того, шаги, описанные здесь, я применял во время разработки в том же порядке, что делает статью жизненным примером оптимизации PyPy.

Я



[Перевод] Почему существует так много Питонов?


Питон изумителен.

Удивительно, но это довольно неоднозначное заявление. Что я имею ввиду под “Питоном”? Может, абстрактный интерфейс Питона? Или CPython, распространенная реализация Питона (не путать с похожим по названию Cython)? Или я имею ввиду что-то совсем иное? Может, я косвенно ссылаюсь на Jython, или IronPython, или PyPy. Или может я отвлекся так сильно, что говорю о RPython или RubyPython (которые очень сильно отличаются).

Не смотря на схожесть в названиях указанных выше технологий, некоторые из них имеют совсем другие задачи (или, как минимум, работают совершенно иными способами)

При работе с Питоном я столкнулся с кучей таких технологий. Инструменты *ython. Но лишь недавно я уделил время, чтобы разобраться, что они собой представляют, как они работают и почему они (каждая по-своему) необходимы.

В этом посте я начну с нуля и пройдусь по разным реализациям Питона, а закончу по-дробным введением в PyPy, за которым, по моему мнению, буду


Вышла первая бета PyPy3 с поддержкой Python 3

Разработчики PyPy представили первую бету выходящего релиза PyPy3. Это первый релиз, в котором поддерживается Python 3 (3.2.3).

Загпрузить можно по ссылке. В бете есть несколько известных проблем, включая серьезную регрессию производительности (к примеру, пока что пишут, что выполнение одной и той же программы может быть в 37 раз медленнее, чем это было на PyPy 2.0.2). Проблемы обещают исправить к финальному релизу.

Доступны версии для x86, работающие под Linux 32/64, Mac OS X 64 и Windows 32; поддерживается и ARM с Linux 32 — ARMv6 (Raspberry Pi) и ARMv7 (Chromebook).

Источник: PyPy Status Blog


Python / Исследование производительности сервера SockJS

Доброе время суток!

Так уж сложилось, что я занимаюсь всякими разнообразными push технологиями с использованием Tornado. Чуть ранее описывал Tornadio2, серверную реализацию протокола socket.io поверх Tornado.

Теперь хочу представить похожий проект — sockjs-tornado.

Для тех кому не очень интересно, есть другая полезная информация: сравнительное нагрузочное тестирование PyPy 1.7 против CPython 2.6.6, sockjs-node и socket.io (оба на node.js 0.6.5). Все под катом :-)



Python / Релиз PyPy 1.6

Вышел релиз проекта PyPy 1.6, в рамках которого разрабатывается реализации языка Python, написанная на языке Python

P.S. Не могу оформить как топик-ссылку, пришлось так.



Python / Проект PyPy представил визуализатор процесса JIT-компиляции и обрисовал ситуацию, когда PyPy быстрее языка Си

Разработчики проекта PyPy, в рамках которого развивается реализация языка Python со статической типизацией, написанная на языке Python и активно использующая JIT-компиляцию, представили систему jitviewer. Jitviewer представляет собой инструментарий для визуализации процесса преобразования кода

P.S. Не могу оформить как топик-ссылку, пришлось так.



Python / [Перевод] Руководство: пишем интерпретатор на PyPy

Все исходные коды и примеры из этой статьи доступны здесь.

Когда я первый раз смотрел проект PyPy, мне потребовалось некоторое время, чтобы выяснить, что он из себя представляет. Он состоит из двух вещей:

— набор инструментов для написания интерпретаторов языков программирования;
— реализация Питона с применением этого набора инструментов.

Вероятно, большинство людей думает, что PyPy это только вторая часть, но это руководство не об интерпретаторе Питона. Оно о том, как написать интерпретатор своего языка.

Я взялся за это руководство для того, чтобы лучше понять как работает PyPy и что он из себя представляет. Предполагается, что вы очень мало знаете о PyPy, поэтому я начну с самого начала.



python standard libs for sculpt and pycow

Идея следующая — взять pypy, скомпилировать его с помощью pycow и посмотреть что получится. Результатом должен полный набор стандартных библиотек python которые можно будет запользовать как для sculpt так и для pycow .

Единственное что сдерживает — непонятка с алгоритмом работы import. В том плане что ни в sculpt, ни в pycow import не реализован вообще.

И это обоснованно — потому что действительно неочевидно — как организовывать import в удаленный клиент. Плодить кучу файлов и переспрашивать их с



jython: уже 2.2

Между тем Jython достиг реализации спецификации Python2.2 [>>>]. Пока что только бета, но we call it 'beta' cause it's much betta than nothing.

Собственно Jython это реализация языка Python для JVM. Идея кажется мне странной, но вот Microsoft поддерживает проект IronPython - реализацию питона для .NET.



jython: уже 2.2

Между тем Jython достиг реализации спецификации Python2.2 [>>>]. Пока что только бета, но we call it 'beta' cause it's much betta than nothing.

Собственно Jython это реализация языка Python для JVM. Идея кажется мне странной, но вот Microsoft поддерживает проект IronPython - реализацию питона для .NET.