The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз PyPy 6.0, реализации Python, написанной на языке Python"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от opennews (??) on 27-Апр-18, 00:14 
Состоялся (http://morepypy.blogspot.ru/2018/04/pypy27-and-pypy35-v60-du...) выпуск проекта PyPy 6.0 (http://pypy.org/), в рамках которого развивается реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://doc.pypy.org/en/latest/coding-guide.html#id1), Restricted Python). Выпуск подготовлен одновременно для веток PyPy2.7 и PyPy3.5, обеспечивающих поддержку синтаксиса Python 2.7 и Python 3.5, и поставляемых с stdlib 2.7.13 и 3.5.3. Выпуск доступен для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS (x86_64),  OpenBSD, FreeBSD и Windows (x86). PyPy3.5 5.10 отмечен как первый стабильный релиз ветки 3.5 для Linux и macOS (поддержка Windows пока имеет статус бета-версии).


Особенностью PyPy является использование JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, что позволяет обеспечить высокий (http://speed.pypy.org/) уровень производительности - при выполнении некоторых операций PyPy в несколько раз обгоняет классическую реализацию Python на языке Си (CPython). Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.

В новом выпуске:

-  Значительно увеличена (https://morepypy.blogspot.it/2017/10/cape-of-good-hope-for-p...) производительность и расширена функциональность прослойки cpyext для обеспечения совместимости с C-API. -  Улучшена совместимость с CPython. -  Обеспечена (https://morepypy.blogspot.com/2018/04/improving-syntaxerror-...) генерация более понятных сообщений в случае выявления синтаксических ошибок. -  В сборщик мусора добавлена возможность подключения обработчиков для сбора информации о производительности.-  Обеспечена совместимость с бэкендом  TkAgg, применяемым по умолчанию в Matplotlib, что решило проблему с поддержкой пакетов pygame и pygobject. -  Обновлены модули CFFI 1.11.5 (C Foreign Function Interface) и cppyy 0.6.0 с реализацией интерфейса для вызова функций, написанных на языках Си и C++.


Код для перевода внутреннего представления строк на utf8 не вошёл в релиз. На начальной стадии находится реализация поддержки Python 3.6.


URL: http://morepypy.blogspot.ru/2018/04/pypy27-and-pypy35-v60-du...
Новость: https://www.opennet.dev/opennews/art.shtml?num=48500

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  –1 +/
Сообщение от Аноним (??) on 27-Апр-18, 00:14 

test = 0.7
while test <= 2.0:
  print "%.1f" % (test)
  test += 0.1

Результат: выводит числа от 0.7 до 1.9

Почему не выводит 2.0?
Если поменять на 3.0, то тоже самое — последнее выводит 2.9.
Но если поставить начало цикла на 1.7, то 2.0 появляется.
Что магического в цифрах 2 и 3 для питона?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +1 +/
Сообщение от Виктор (??) on 27-Апр-18, 00:30 
Для того, чтобы понять, почему так случается, вам нужно посмотреть это видео: https://youtu.be/WlaAAdz4pjM?t=84
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Аноним (??) on 27-Апр-18, 00:48 
Спасибо, интересно.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

14. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Аноним (??) on 27-Апр-18, 07:51 
А в видео есть ответ на вопрос, как безопасно сравнивать 2 флоата?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

16. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +3 +/
Сообщение от Аноним (??) on 27-Апр-18, 09:17 
if(abs(a-b) <= 0.00001) {...}
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

29. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  –8 +/
Сообщение от dasrfatwet on 27-Апр-18, 17:06 
боже мой теперь понятно почему питон никому не нужен кроме извращенцев
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

34. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  –2 +/
Сообщение от Аноним (??) on 28-Апр-18, 00:59 
О, смотрите все, вот code monkey считает себя умнее Дональда Кнута.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

35. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Аноним84701 (ok) on 28-Апр-18, 01:06 
> боже мой теперь понятно почему питон никому не нужен кроме извращенцев

Вы не поверите, но …


% cat testfloat.c && gcc -Wall -Wextra -Wpedantic testfloat.c -o float && ./float
#include <stdio.h>

int main(void)
{
    double test = 0.7;
    while (test <= 2.0) {
        printf ("%.1f | %.20f\n", test, test);
        test += 0.1;
    }
    return 0;
}
0.7 | 0.69999999999999995559
0.8 | 0.79999999999999993339
0.9 | 0.89999999999999991118
1.0 | 0.99999999999999988898
1.1 | 1.09999999999999986677
1.2 | 1.19999999999999995559
1.3 | 1.30000000000000004441
1.4 | 1.40000000000000013323
1.5 | 1.50000000000000022204
1.6 | 1.60000000000000031086
1.7 | 1.70000000000000039968
1.8 | 1.80000000000000048850
1.9 | 1.90000000000000057732

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

32. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Аноним (??) on 27-Апр-18, 22:01 
if str(f1)=str(f2):
    pass
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

42. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +2 +/
Сообщение от ram_scan on 28-Апр-18, 19:05 
И в соседней процедуре сортировку пузырьком. Производительности то девать некуда.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

4. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +2 +/
Сообщение от alexpat email on 27-Апр-18, 00:37 
Здесь не в питоне дело, а в том, как хранятся числа с плавающей точкой.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

23. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +2 +/
Сообщение от myhand (ok) on 27-Апр-18, 13:16 
Ыгы.  О сколько нам открытий чудных готовит IEEE 754.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Анончик999999 on 27-Апр-18, 00:40 
Вообще, не хорошо сравнивать числа с плавающей точкой. Но вот while test <= 2.0 + sys.float_info.epsilon тоже не срабатывает, хотя должно бы.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

8. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +3 +/
Сообщение от какойто другой аноним on 27-Апр-18, 01:39 
> хотя должно бы

отчего бы это?
есть несколько аспектов:

во-первых, epsilon - это такое минимальное положительное число, что 1.0 + epsilon != 1.0
т.е. совершенно законно, что 2.0 + epsilon == 2.0

во-вторых, следовательно, оптимисты должны писать не 2.0 + epsilon, а 2.0*(1+epsilon)

в третьих, цепочка операций может накапливать погрешность неожиданным для неопытного человека образом. Конкретно в данном случае абсолютная погрешность суммы равна 2*epsilon, но при суммировании произвольной последовательности чисел довольно просто найти поучительные примеры -

>>> 1./3 + 2./3 - 1

0.0
>>> 1./3 -1 + 2./3

-1.1102230246251565e-16
>>> 2./3 -1 + 1./3

-5.551115123125783e-17

:)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Анонимчик on 27-Апр-18, 02:51 
Вообще-то интересно, как происходит приравнивание float-массивов в NumPy?
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

26. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Аноним (??) on 27-Апр-18, 15:43 
> Вообще, не хорошо сравнивать числа с плавающей точкой. Но вот while test
> <= 2.0 + sys.float_info.epsilon тоже не срабатывает, хотя должно бы.

Ты на оборудовании с точностью 0.1 мм задаешь величину 2.15 мм.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +3 +/
Сообщение от Анончик999999 on 27-Апр-18, 00:59 
Ну да, приходит наращивание за счёт постоянного прибавления одной десятой. 2.0000000000000004 > 2 + sys.float_info.epsilon. Лучше в циклах перевести в целые числа или в дроби:
from fractions import Fraction
test = Fraction(7, 10)
while test <= 2:
  print "%.1f" % (test)
  test += Fraction(1, 10)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

10. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Анонимчик on 27-Апр-18, 02:57 
Можно заменить на тип Decimal.
from decimal import Decimal
test = 0.7  # известно.
test = Decimal(str(test))
dt = Decimal('0.1')
while text <= 2:
    print('{:.1f}'.format(test)
    test += dt
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Анонимчик on 27-Апр-18, 02:58 
) в конце print
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

17. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Crazy Alex (ok) on 27-Апр-18, 10:02 
Вот примерно поэтому надо хотя бы начинать с си плюсов или ещё чего, что даёт понимание того, как оно там внутри работает.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

19. "о понимании того, как оно там внутри работает"  +1 +/
Сообщение от userd (ok) on 27-Апр-18, 12:39 
Для понимания как оно работает лучше начинать с ввода программы через инженерный пульт.
Очень просто и практично - набрал переключателями адрес, значение байта - нажал кнопку "записать",
и переходи к следующему байту. Когда введёшь программу и данные, набираешь адрес и кнопку "выполнить" :)

А так-то и python ничего не скрывает. В частности, если мы говорим про числа с плавающей точкой -


>>> sys.float_info.epsilon.hex()

'0x1.0000000000000p-52'

>>> (1.0+sys.float_info.epsilon).hex()

'0x1.0000000000001p+0'

>>> sum( [ 0.7 ] + [ 0.1 ]*13 ).hex()

'0x1.0000000000001p+1'

>>> float.fromhex('0x0.0000000000001p+0')

2.220446049250313e-16


А ещё у нас есть struct и ctypes :)

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

24. "о понимании того, как оно там внутри работает"  +/
Сообщение от Crazy Alex (ok) on 27-Апр-18, 13:43 
Скрывает. просто не наглухо. Разница в том, что на сях нельзя писать, не понимая основ, а на питоне - часто можно. И то, что на практике часто даёт удобство (а потом лупит граблями в неподходящий момент), в обучении замазывает пробелы в знаниях.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

36. "о понимании того, как оно там внутри работает"  +/
Сообщение от Аноним (??) on 28-Апр-18, 08:33 
Не надо учить основы на питоне.... Питон - это язык для тех, кому не надо программировать вообще. То есть номинально надо что-то знать, потому что все вокруг программируют, но рельно - не нужно....

Для понимания основ годится что-нибудь обычное высокоуровневое, например Паскаль. Проще, чем C, не перегружен, легко понять как работают алгоритмы. И ничего страшного, что реальные программы на нём уже почти не пишут. Книги Кнута - тоже, не на практически используемом языке написаны.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

39. "о понимании того, как оно там внутри работает"  +/
Сообщение от num on 28-Апр-18, 14:56 
>Скрывает. просто не наглухо. Разница в том, что на сях нельзя писать, не понимая основ, а на питоне - часто можно.

Вот казалось бы так. Но сишники раз за разом умудряются доказывать обратное!

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

40. "о понимании того, как оно там внутри работает"  +/
Сообщение от Аноним (??) on 28-Апр-18, 16:29 
Гоните таких сишников учить теорию
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

25. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  –3 +/
Сообщение от Аноним (??) on 27-Апр-18, 15:41 
Некроверсия питона у кого-то потому-что.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

44. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от ыы on 28-Апр-18, 22:26 
Потому что 0.1 это в действительности 0.10000000000000001000
И после того как напечатано 1,9 и прибавляется 0.10000000000000001000 - получается сумма больше чем 2.0
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от corvuscor (ok) on 27-Апр-18, 00:22 
Интересная штука, но matplotlib, видимо, пока все-таки не поддерживается.
Ну, подождем-с.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от myhand (ok) on 27-Апр-18, 13:13 
> Интересная штука, но matplotlib, видимо, пока все-таки не поддерживается.

Вроде что-то шевелится...

tar xjvf pypy3-v6.0.0-linux64.tar.bz2
mkdir venv
pypy3-v6.0.0-linux64/bin/pypy3 -m venv --clear venv/dev-pypy3
pypy3-v6.0.0-linux64/bin/pypy3 -m venv --system-site-packages venv/dev-pypy3
. ~/venv/dev-pypy3/bin/activate
pip install --pre diofant[plot,interactive,develop,docs]

matplotlib устанавливается корректно, правда долго - колес не завели.

И что-то строит:
$ python
Python 3.5.3 (fdd60ed87e94, Apr 24 2018, 06:10:04)
[PyPy 6.0.0 with GCC 6.2.0 20160901] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> from diofant import plot, sin
>>>> from diofant.abc import x
>>>> plot(sin(x), (x, 0, 3))

[...]
Plot object containing:
[0]: cartesian line: sin(x) for x over (0.0, 3.0)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

15. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Аноним (??) on 27-Апр-18, 09:10 
Когда он уже сможет заменить cpython?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от myhand (ok) on 27-Апр-18, 13:13 
Телепатический модуль так и не завели.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

31. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Диносуслик on 27-Апр-18, 19:12 
А не хотят они PyPyPy написать на PyPy ) В соседней новости нейросеть уже пишет код. Вот и тут надо.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  –1 +/
Сообщение от myhand (ok) on 28-Апр-18, 12:34 
Ай-яй-яй, г-да модераторы.  Ведь совсем не по теме новости что в Российской Федерации релиз PyPy можно скачать только через прокси?

Что-ж вы публикуете новость о выходе противозаконного ПО?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

41. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от userd (ok) on 28-Апр-18, 18:14 
я не модератор, но могу сказать -

1) В PyPy ничего противозаконного нет.
2) У меня в СПб всё качается. Без всяких прокси, хочешь firefox-ом - хочешь wget-ом,
3) Если у Вас есть проблема, и Вы хотите её решить, то клоунада на opennet-е не поможет.

Что поможет в решении проблемы мне не ведомо.
Вероятно, ваш провайдер смотрит на мир оловянными глазами...

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

45. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от Аноним (??) on 28-Апр-18, 23:05 
>> 2) У меня в СПб всё качается. Без всяких прокси, хочешь firefox-ом - хочешь wget-ом,

На самом деле, могу подтвердить, что и в моём случае amazonaws.com не отвечает (bbuseruploads.s3.amazonaws.com, именно туда идёт перенаправление при скачивании). Этот домен проверен уже двумя провайдерами. Но в списке заблокированных через host-tracker.com не определяется. Длится это с момент блокировки Телеграм

И вряд ли он вообще каким-либо образом сможет повлиять на решение проблемы.

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

46. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от Аноним (??) on 28-Апр-18, 23:14 
Поправка, поддомены Амазона заблокированы, а значит, если IP совпадут с другими поддоменами, то тоже, вероятно, окажутся заблокированными. Увы:
https://www.host-tracker.com/InstantCheck/3/8749f05b-204b-e8...

Это многое объясняет.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

51. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от myhand (ok) on 29-Апр-18, 17:56 
Ну что-ж, ответ опять удалили.

Интересно, за что?

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

52. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от Аноним (??) on 29-Апр-18, 18:20 
> Ну что-ж, ответ опять удалили.
> Интересно, за что?

https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi?az=l...
> УДАЛЕНО.WARNBOT, Реакция: bot info, Санкционировано: mc, Пояснение: оскорбление, Время: Sun Apr 29 19:07:57 2018

Индикатор нарушения: "модер я не модератор, но могу сказать - "


Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

53. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от myhand (ok) on 29-Апр-18, 18:54 
Таки за что?  "Оскорбиться" можно на что угодно, при желании.
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

54. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от Аноним (??) on 29-Апр-18, 19:23 
> Таки за что?  "Оскорбиться" можно на что угодно, при желании.

"дурачок"
Ваш КО.


Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

55. "Релиз PyPy 6.0, реализации Python, написанной на языке Python"  +/
Сообщение от myhand (ok) on 29-Апр-18, 19:34 
И почему это оскорбительно?  "Клоунада на opennete" почему-то г-ну модератору не показалась оскорблением.

Кто первым оскорбился - тот и прав?

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

43. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Андрей (??) on 28-Апр-18, 20:20 
А что, pypy популярнее cython? В Debian всё ещё cython 0.26.1 от 29 августа 2017. А pypy только вышел, и на следующий день уже был в Debian.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от myhand (ok) on 29-Апр-18, 13:41 
В Debian как не было pypy3, так и нет.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

50. "Релиз PyPy 6.0, реализации Python, написанной на языке Pytho..."  +/
Сообщение от Андрей (??) on 29-Апр-18, 16:07 
В пакете cython идут оба. А в pypy, точно, только 2-ой.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру