LINUX.ORG.RU

Вышел PyPy 2.0

 , ,


0

6

9 мая вышла версия PyPy 2.0 с кодовым названием «Einstein Sandwich». PyPy — интерпретатор языка Python со встроенным tracing JIT. Основными изменениями по сравнению с PyPy 1.9 являются:

Планируется, что версия 2.0 послужит стабильной базой для более частых релизов (вероятно, для создания действительно быстрых интерпретаторов Ruby и PHP).

Не вошли в официальный анонс, но тоже немаловажны:

И, наконец (я знал, что вы спросите): работа по распараллеливанию PyPy ведется не слишком активно, но есть ветка STM.

Cравнение скорости PyPy и CPython на синтетических бенчмарках

>>> Подробности

★★★★★

Проверено: DoctorSinus ()
Последнее исправление: unfo (всего исправлений: 7)

Ответ на: комментарий от anonymoos

На таком уровне и во втором питоне всё хорошо, просто считай, что unicode это и есть строка, а строка — это bytes. Если пишешь на django, например, то тоже не знаешь о том, какая там кодировка на клиенте или в БД. Проблема правда есть, но серьёзной её назвать сложно, потому что разница на уровне наименований, а логически всё одно и то же. Ну, разве что, с конкатенацией unicode и str бывают проблемы, в третьем питоне так в ногу себе уже не выстрелишь. Однако, чуть-чуть внимания, и проблемы нет.

Binary ★★★★★
()
Ответ на: комментарий от Binary

Согласен. Но я не программист, а автоматизатор. И у меня нет времени уделять внимание всем тонкостям и думать о подводных камнях. Питон был выбран как основное средство автоматизации для внутренних проектов именно за счёт скорости вхождения и использования сторонних библиотек, без траты времени на изучение всех тонкостей языка.

anonymoos ★★★★★
()
Ответ на: комментарий от anonymoos

Их минимум, если используется какой-либо фреймворк, современные фреймворки берут на себя кодировки. Если же нужно работать на низком уровне, то эти тонкости надо знать везде.

Ну и вообще, можно уже потихоньку переползать py3k и будет счастье. Не знаю, правда, как у Pypy с ним.

Binary ★★★★★
()
Ответ на: комментарий от Binary

переползать py3k и будет счастье. Не знаю, правда, как у Pypy с ним.

Вообще никак. И нет даже в ближайших планах. Это-то и расстраивает. А в остальном проект замечательный и очень интересный

anonymoos ★★★★★
()
Ответ на: комментарий от anonymoos

переползать py3k и будет счастье. Не знаю, правда, как у Pypy с ним.

Вообще никак.

Зачем ты постоянно лжешь?

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Зачем ты постоянно лжешь?

Не лгу, а заблуждаюсь. И вместо пререканий мог бы давить пруфлинками, а не наездами.
Уже сам нарыл: http://pypy.org/py3donate.html
В общем работа идёт, это радует. Но до финальной рабочей версии ещё далеко.

anonymoos ★★★★★
()
Ответ на: комментарий от anonymoos

Не лгу, а заблуждаюсь. И вместо пререканий мог бы давить пруфлинками, а не наездами.

Я дал несколько ссылок на блог morepypy. Тот, кому интересен Py3k, нашел бы http://morepypy.blogspot.com/2013/03/py3k-status-update-10.html

tailgunner ★★★★★
() автор топика

На данный момент в пайпае есть какие-то принципиально неразрешенные проблемы? Т.е., насколько я понял, по всем тестам он быстрее cpython, почему его не начнут разрабатывать в качестве основной версии питона? За ним же будущее (питона), или не?

Deleted
()
Ответ на: комментарий от Deleted

почему его не начнут разрабатывать в качестве основной версии питона?

Потому что его считают слишком сложным для reference implementation.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Потому что его считают слишком сложным для reference implementation.

В каком смысле? Гвидо ниасилил, или это не совсем обычный питон и требует какие-то дополнительные усилия?

Deleted
()
Ответ на: комментарий от Deleted

Потому что его считают слишком сложным для reference implementation.

В каком смысле?

Что ты не понял в словах «его считают слишком сложным»?

Гвидо ниасилил

Troll harder.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от Deleted

почему его не начнут разрабатывать в качестве основной версии питона?

NIH van Rossum же.

devl547 ★★★★★
()
Ответ на: комментарий от snizovtsev

LLVM - это низкоуровневый платформонезависимый байткод, нужен, в основном, чтобы разработчики компиляторов не парились с поддержкой x86, x86-64, arm и всякими оптимизациями на уровне инструкций.

Мааааать!.... Когда же вы уже все передохните или научитесь читать?! В LLVM нет платформонезависимого байткода, и нужен он только для оптимизаций в общем случае в рамках одного процесса: [ваш код ->] llvm AST или asm для конкретного проца -> llvm байткод -> натив. И их vm там нужна только в пределах этого процесса. И если у кого-то возникают дурные мысли растянуть этот процесс до жизни рантайма как «нормальной» vm, то посмотрите на судьбу jvm/net реализации на llvm - служит только хоругвью «мы и так можем»

yyk ★★★★★
()
Ответ на: комментарий от yyk

И если у кого-то возникают дурные мысли растянуть этот процесс до жизни рантайма как «нормальной» vm, то посмотрите на судьбу jvm/net реализации на llvm - служит только хоругвью «мы и так можем»

А что там не так? Просто есть у меня в одной задаче потребность сделать узкоспециализированную виртуальную машинку. Пока в сторону llvm думаю (изучаю матчасть).

Absurd ★★★
()
Ответ на: комментарий от Absurd

Просто есть у меня в одной задаче потребность сделать узкоспециализированную виртуальную машинку.

vm в llvm и так «узкоспециализированная виртуальная машинка». И если ваши специализации не совпадают - не натягивайте РИ №2 на глобус. Хотя каждый имеет полное право сходить с ума по своему...

yyk ★★★★★
()
Последнее исправление: yyk (всего исправлений: 1)
Ответ на: комментарий от yyk

vm в llvm и так «узкоспециализированная виртуальная машинка». И если ваши специализации не совпадают - не натягивайте РИ №2 на глобус.

А как байткод jit-ить? Рендерить интеловский код с нуля раскрашивая граф использования регистров несколько кариесно будет.

Absurd ★★★
()
Ответ на: комментарий от Absurd

воооот, уже «ближе к телу». jit-библиотек и так есть различных. Вы их сравнивали, чтобы быть уверенными, что вам нужен именно llvm для джита?

yyk ★★★★★
()
Ответ на: комментарий от yyk

jit-библиотек и так есть различных. Вы их сравнивали, чтобы быть уверенными, что вам нужен именно llvm для джита?

Это ново для меня. Пока в качестве proof of concept пытаюсь реализовать MMIX от Дональда Кнута чтобы набить руку. Дубовый интерпретатор который реализует байткодовские инструкции через массив указателей на функции уже есть.

Absurd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.