Уведомления

Группа в Telegram: @pythonsu

#1 Март 13, 2010 09:42:54

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

PyPy с JIT компилятором.

Вопрос скорости решается быстрее чем ожидалось.

http://morepypy.blogspot.com/2010/03/introducing-pypy-12-release.html

We are pleased to announce PyPy's 1.2 release. This version 1.2 is a major milestone and it is the first release to ship a Just-in-Time compiler that is known to be faster than CPython (and unladen swallow) on some real-world applications (or the best benchmarks we could get for them). The main theme for the 1.2 release is speed.

The JIT is stable and we don't observe crashes. Nevertheless we would recommend you to treat it as beta software and as a way to try out the JIT to see how it works for you.

Highlights:

* The JIT compiler.
* Various interpreter optimizations that improve performance as well as help save memory. Read our various blog posts about achievements.
* Introducing a new PyPy website at pypy.org made by tav and improved by the PyPy team.
* Introducing speed.pypy.org made by Miquel Torres, a new service that monitors our performance nightly.
* There will be ubuntu packages on PyPy's PPA made by Bartosz Skowron, however various troubles prevented us from having them as of now.

Known JIT problems (or why you should consider this beta software) are:

* The only supported platform is 32bit x86 for now, we're looking for help with other platforms.
* It is still memory-hungry. There is no limit on the amount of RAM that the assembler can consume; it is thus possible (although unlikely) that the assembler ends up using unreasonable amounts of memory.

Там есть ещё много интересного. Особенно интересно Sandboxing - изолированное выполнение кода на питоне, помнится тут кто-то искал такую возможность.

PyPy is a very compliant implementation of the Python language. PyPy has several advantages and distinctive features:

* Speed: thanks to its Just-in-Time compiler, Python programs often run faster on PyPy. (What is a JIT compiler?)
* Memory usage: large, memory-hungry Python programs might end up taking less space than they do in CPython.
* Sandboxing: PyPy provides the ability to run untrusted code in a fully secure way.
* Stackless: PyPy can be configured to run in stackless mode, providing micro-threads for massive concurrency.
* As well as other features.

Отредактировано (Март 13, 2010 09:48:13)

Офлайн

#2 Март 13, 2010 14:04:09

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

PyPy с JIT компилятором.

поставил, тестю)



Офлайн

#3 Март 13, 2010 16:06:39

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

PyPy с JIT компилятором.

Оставьте излишний энтузиазм. PyPy был и всегда будет экспериментальной реализацией без широкого использования.
Начнем с того, что кое-какой валидный код PyPy на дух не переносит. Про отсутствие C Extensions вообще молчу.
И память жрет как не в себя… Скорость кое-где выше, но на некоторый примерах - ниже. В общем, все не так просто…

Разработка очень интересная, но CPython она никогда не заменит.



Офлайн

#4 Март 13, 2010 16:57:04

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

PyPy с JIT компилятором.

считал числа фибоначи до n.

|---------------------------+-------+----------------+----------------+---------|
| Метод | n | pypy-stackless | pypy | CPython |
|---------------------------+-------+----------------+----------------+---------|
| Итеративный | 20000 | 0.05 | 0.04 | 0.03 |
|---------------------------+-------+----------------+----------------+---------|
| Рекурсивный | 31 | 1.39 | 1.08 | 0.52 |
| | 32 | 2.23 | 1.74 | 0.82 |
| | 33 | 3.63 | 2.81 | 1.34 |
| | 34 | 5.89 | 4.55 | 2.19 |
| | 35 | 9.52 | 7.39 | 3.52 |
| | 36 | 15.42 | 12.0 | 5.73 |
| | 37 | 25.08 | 19.11 | 9.33 |
| | 38 | 40.67 | 31.28 | 14.97 |
| | 39 | 65.56 | 50.59 | 24.25 |
| | 40 | 105.58 | 81.52 | 39.31 |
|---------------------------+-------+----------------+----------------+---------|
| Рекурсивный с отсечениями | 20000 | 0.28 | stack overflow | 0.07 |
|---------------------------+-------+----------------+----------------+---------|
У меня получилось медленнее, код примера можно тут посмотреть



Отредактировано (Март 13, 2010 17:00:05)

Офлайн

#5 Март 14, 2010 04:14:20

u4upy
От:
Зарегистрирован: 2009-05-25
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

PyPy с JIT компилятором.

Zubchick Вы основательный.)


В последнее время в мире python много громких, пышных анонсов. Слишком пышных и слишком много.



Офлайн

#6 Март 14, 2010 05:24:47

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

PyPy с JIT компилятором.

u4upy
а может это эффект “”“пружины”“” …

Офлайн

#7 Март 14, 2010 13:21:20

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

PyPy с JIT компилятором.

Какой ещё пружины?



Офлайн

#8 Март 15, 2010 17:42:44

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

PyPy с JIT компилятором.

Андрей Светлов
Ну, наличие готового прототипа компилятора - весьма неплохо. Насколько я помню, задача у проекта стояла не заменить CPython, а отработать решения, которые со временем смогут быть перенесены в него.
А песочница, как отдельное решение, весьма интересна.

Офлайн

#9 Март 16, 2010 15:56:57

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

PyPy с JIT компилятором.

ZZZ
долго растягивается , а затем как БЯУЦ

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version