|
2.19, Anon999 (ok), 12:02, 11/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Все это хорошо, но вот бы если занялись лишением недостатков реализации самого CPython, это было б значительно лучше.
| |
|
3.25, Аноним (-), 13:13, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Ложь, если PyPy и быстрее хоть где-то чем CPython то только за счёт использования JIT, который в CPython не используют, если бы использовали не было бы такого.
| |
|
4.40, Аноним (-), 17:19, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> и как истинный питон не совместим с другими питонами.
Как истинный аноним – высказал свое мнение, не утруждая себя знанием предмета или аргументацией!
> PyPy успешно проходит стандартный тестовый пакет Python и поддерживает
>(http://pypy.org/compat.html) большинство из стандартных Python-модулей и фреймворков, таких
> как ctypes, django (с sqlite), twisted (без поддержки ssl), pylons, pyglet. PyPy может быть использован
> для бесшовной замены CPython 2.7; | |
|
|
2.41, Нимано (?), 17:23, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Реализации Python, написанной на Python и питоном погоняя :D
Читать не только заголовок новости не пробовали? Счастливчик – "сколько вам открытий чудных ..."
Первое предложение:
> Состоялся релиз PyPy 5.0, реализации языка Python, написанной на языке Python (используется
> статически типизированное подмножество RPython, Restricted Python). | |
|
|
2.3, Аноним (-), 09:50, 11/03/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ты, наверно, очень невнимательный гентушник, раз не заметил что тормозит portage жесткий диск.
| |
|
3.7, Аноним (-), 10:21, 11/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
Почему же тогда на точно таком же жёстком диске не тормозит apt из Debian, который написан на C?
| |
3.23, RazrFalcon (ok), 13:04, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Переход с HDD на SSD не дает ощутимого прироста. В portage тормозит далеко не только io.
| |
|
4.29, Аноним (-), 13:59, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Дает. Повторный запуск emerge всегда в разы быстрее, пока кэш ФС в RAM. Если, конечно, у тебя RAM не 512 мб.
| |
|
5.31, Нимано (?), 14:49, 11/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Переход с HDD на SSD не дает ощутимого прироста.
> Дает. Повторный запуск emerge всегда в разы быстрее, пока кэш ФС в
> RAM. Если, конечно, у тебя RAM не 512 мб.
Я так понимаю, тут или особенный, уличный кэш для SSD или же при использовании HDD кэш насильно сбрасывают (типа "если у нас хдд, значит мы ХОТИМ читать/писать медленно! Не мешайте своим кэшем!")?
| |
|
6.38, Аноним (-), 17:01, 11/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Как я уже сказал, зависит от размера кэша ФС в памяти. Если памяти мало, то сбрасывается. В том числе во время компиляции тяжелого софта. Лично мне с моими 3 Гб ее всегда хватало если запросить дерево зависимостей при обновлении софта, Ctrl+C, снова повторить вывод дерева зависимостей.
| |
|
|
4.39, Аноним (-), 17:04, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
I/O с кэшем в памяти - тоже I/O. И тоже есть накладные расходы на открытие/закрытие файловых дескрипторов. Особенно если это десятки тысяч файлов.
| |
|
5.58, Аноним (-), 12:46, 12/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
При использовании питона накладные расходы увеличиваются еще и благодаря питону. Это даже до редхата с DNF дошло, не прошло и 20 лет.
| |
5.69, . (?), 19:27, 12/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Подсказка двоешникам:
Весь "I/O и окрытие/закрытие файловых дескрипторов" в питоне делается где то глубоко с кишках Си-шных либриотек, с их нативной скоростью.
Навеки Ваш,
Кэп.
| |
|
|
|
2.83, Aleks Revo (ok), 23:40, 13/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Не перестаёт, если интересуют экспериментальные данные ))
Как верно заметили - узкое место hdd. C PyPy диск пригружается эффективней и всё на этом.
| |
|
1.4, Аноним (-), 09:53, 11/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.
нужно больше памяти
| |
|
2.11, Аноним (-), 10:41, 11/03/2016 [^] [^^] [^^^] [ответить]
| –3 +/– |
Если не умеет в многоядерность, то не потянет. Если умеет - 32-ядерного сервачка вполне себе хватит на 2-3 уровня вложений!
| |
|
1.6, Аноним (-), 10:19, 11/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python на языке Си (CPython).
Что-то мне подсказывает что если добавить в классическую реализацию Python на языке Си (CPython) JIT-компилятор, на лету транслирующий некоторые элементы в машинный код то CPython будет быстрее в несколько раз и в несколько раз меньше потреблять память чем PyPy (ибо написан на C у которого по этим параметрам огромное превосходство над Python, на котором написан PyPy).
| |
|
2.10, kai3341 (ok), 10:31, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то мне подсказывает что если добавить в классическую реализацию Python на языке Си (CPython) JIT-компилятор, на лету транслирующий некоторые элементы в машинный код то CPython будет быстрее в несколько раз и в несколько раз меньше потреблять память чем PyPy (ибо написан на C у которого по этим параметрам огромное превосходство над Python, на котором написан PyPy).
Верно мыслите. Но будет ещё быстрее, если алгоритм будет проработан и несколько раз переписан с нуля на Python, и уже когда переделывать будет нечего, реализован с низкоуровневом языке.
| |
2.18, Аноним (-), 11:56, 11/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Быстрее это вряд ли. Скорость и так сишная в некоторых случая. Куда быстрее?
| |
|
3.21, Аноним (-), 12:09, 11/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Скорость и так сишная в некоторых случая.
Сишная говорите в некоторых случаях? Что же, охотно верю при условии что число этих случаев стремится к нулю или вообще отрицательно.
| |
|
4.22, Аноним (-), 13:03, 11/03/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Вот некоторый случай: На LORе как-то выкладывали пример с вычислением синуса в цикле.
from math import sin
def test():
sum = 0.0
for i in range(100000000):
sum += sin(i)
return sum
print(test())
Вроде так. Под PyPy скорость одинаковая по сравнению с аналогом на Си.
| |
|
5.35, Аноним (-), 16:26, 11/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ваш пример:
time python ./test.py
0.782010319461
real 0m13.458s
user 0m12.687s
sys 0m0.755s
Аналог на C test.c:
#include <stdio.h>
#include <math.h>
void main()
{
int i;
double sum = 0.0;
for( i = 0; i < 100000000; ++i )
sum += sin(i);
printf("%.12f\n", sum);
}
gcc test.c -lm
time ./a.out:
0.782010319461
real 0m3.262s
user 0m3.254s
sys 0m0.004s
Итого: код на С работает в 4 раза быстрее кода на Python.
| |
|
6.36, Аноним (-), 16:44, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Вы читать умеете? Под PyPy, а не под стандартным интерпретатором.
Нужно так
$ time PyPy ./test.py
| |
|
7.43, Аноним (-), 18:02, 11/03/2016 [^] [^^] [^^^] [ответить] | +/– | С PyPy действительно на одном уровне с C time pypy test py 0 782010319461 re... большой текст свёрнут, показать | |
|
8.46, Аноним (-), 18:37, 11/03/2016 [^] [^^] [^^^] [ответить] | –1 +/– | В новости под которой мы сейчас пишем последняя строка как бы заранее отвечает н... текст свёрнут, показать | |
|
9.59, Аноним (-), 12:55, 12/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Так он даже без openmp продул Это человек еще флаги оптимизации не показал А т... текст свёрнут, показать | |
|
|
11.72, Нимано (?), 15:24, 13/03/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Н-да Классическое А вдоль лyж анонимы на дивaнах сидят И тишина Вообще-то ... большой текст свёрнут, показать | |
|
|
|
14.76, myhand (ok), 19:24, 13/03/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Шо у вас такая болезнь про хаброшколие У них это рефлекс, их как собак Павлова... текст свёрнут, показать | |
14.77, Аноним (-), 20:19, 13/03/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Какой-то бессвязный бред Попробую вам помочь разобраться До того как другой А... большой текст свёрнут, показать | |
|
15.79, Аноним (-), 21:14, 13/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Да-да, только Вы, Истинный Аноним, ведаете ху из ху А про то, что можно, как ... большой текст свёрнут, показать | |
|
16.80, Аноним (-), 21:28, 13/03/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Опять какой-то не адекват По теме - вам лечится надо, или хотя бы следить за со... текст свёрнут, показать | |
|
|
|
|
|
11.85, Аноним (-), 00:10, 14/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Легко Собери LZ4 с -O0 и -O3, поудивляйся разнице Это про цирк где питонист по... большой текст свёрнут, показать | |
|
12.88, Аноним (-), 01:35, 14/03/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Вы, наверное, автор LZ4, раз его каждый раз в пример ставите А автограф можно ... большой текст свёрнут, показать | |
|
|
10.65, Аноним (-), 14:37, 12/03/2016 [^] [^^] [^^^] [ответить] | +/– | Разница в рамках погрешности, а если добавить к этому холодный старт PyPy то уже... большой текст свёрнут, показать | |
|
|
8.51, Нимано (?), 20:31, 11/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Какое Сам скрипт не транслируется в Си, а то что JIT как бы на Си , особо не в... текст свёрнут, показать | |
|
9.54, Аноним (-), 04:12, 12/03/2016 [^] [^^] [^^^] [ответить] | +/– | Заменить цикл единственным вычислением - такой же примитивный и пошлый троллинг ... текст свёрнут, показать | |
|
10.61, Аноним (-), 13:00, 12/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Так при честном сравнении питон продувает, приходится жульничать А если еще и п... текст свёрнут, показать | |
|
|
12.87, Аноним (-), 00:48, 14/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Судя по тому как yum dnf portages работают - реалистичная аппроксимация Надуван... большой текст свёрнут, показать | |
|
13.89, Аноним (-), 02:31, 14/03/2016 [^] [^^] [^^^] [ответить] | +/– | Не знаю, так как не использую А причем здесь вообще эта отсылка Я так понимаю,... большой текст свёрнут, показать | |
|
|
|
|
9.60, Аноним (-), 12:58, 12/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Теперь понятно почему питон не тормозит Надо оказывается сервер 32-ядерный брат... текст свёрнут, показать | |
|
|
|
6.37, Нимано (?), 16:49, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> Под PyPy скорость одинаковая по сравнению с аналогом на Си.
> Ваш пример:
> time python ./test.py
> 0.782010319461
> Итого: код на С работает в 4 раза быстрее кода на Python.
Неа.
# gcc49 test.c -lm
# time ./a.out
0.782010319460
./a.out 23,89s user 0,02s system 99% cpu 23,923 total
# gcc49 test.c -lm -Ofast
# time ./a.out
0.782010319460
./a.out 23,60s user 0,00s system 99% cpu 23,603 total
# time pypy test.py
0.78201031946
pypy test.py 24,89s user 0,06s system 99% cpu 24,956 total
# pypy --version
Python 2.7.10 [PyPy 4.0.1
Python != CPython != PyPy
| |
|
7.44, Аноним (-), 18:08, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Из вашего же комментария ниже:
>Ага, главное вставить про Си ... ведь знать, что PyPy написано RPython
>который транслируется в Си
Отсюда и скорость одинаковая, вот только этот пример лишь маленький частный случай, что-то никто не торопится заменять стандартные интерпретаторы.
| |
|
8.50, Нимано (?), 20:21, 11/03/2016 [^] [^^] [^^^] [ответить] | +/– | Скорость чего Генерирования нативного кода или скорость выполнения этого самого... текст свёрнут, показать | |
|
|
|
|
|
|
2.33, Crazy Alex (ok), 14:54, 11/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Вот только писать сложную алгоритмику на сях - удовольствие ниже среднего, а отлаживать - тем более.
| |
|
1.32, neon1ks (ok), 14:49, 11/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Разогрев JIT (warmup) теперь выполнятся на 30% быстрее, потребляя на 30% меньше памяти;
А долго надо разогревать?)
| |
|
2.84, Aleks Revo (ok), 23:59, 13/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> А на PyPy можно запускать ещё один PyPy?
Каким образом?
PyPy написан на RPython, а интерпретирует обычный Python - это разные языки.
| |
|
1.55, Аноним (-), 04:19, 12/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Обьясните мне глупому что такое JIT и в чем отличие от текущего Python Comile (.pyc и .pyo)? Если заменить все .py файлы на .pyc, то это можно назвать JIT интерпритатором CPython?
| |
|
2.68, Аноним (-), 16:40, 12/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Обьясните мне глупому что такое JIT и в чем отличие от текущего
> Python Comile (.pyc и .pyo)? Если заменить все .py файлы на
> .pyc, то это можно назвать JIT интерпритатором CPython?
Для этого надо понять разницу между машинным кодом и какими-то там опкодами чего-то виртуального в pyc файлах. В pyc файлах не надо парсить синтаксис, но это не машинный код и поэтому все-равно производится интерпретация. Ну да, не слов а опкодов. Скорость все-равно плохая. Потому что быстрее всего - выполнить машинный код в процессоре аппаратно.
| |
|
|