1.1, anonymous (??), 22:53, 06/07/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Для компилируемых скриптов обязательным требованием является использование статической типизации
потому что компилятор дурачок и не умеет по другому. проанализировать код, вывести типы и наделать где надо параметризованых функций он не может. велосипед с квадратными колёсами.
| |
|
2.2, all_glory_to_the_hypnotoad (ok), 23:05, 06/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
Таких компиляторов просто нет, нельзя анализировать динамический код и заменять его типизированными вставками. По крайней мере для ЯП типа питона.
| |
|
3.3, anonymous (??), 23:16, 06/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Таких компиляторов просто нет, нельзя анализировать динамический код и заменять его типизированными
> вставками. По крайней мере для ЯП типа питона.
автор Stalin'а очень удивлён: он, оказывается, сделал то, что сделать нельзя.
| |
|
4.31, all_glory_to_the_hypnotoad (ok), 21:26, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
питон значительно отличается от хаскеля, нет в яп достаточной интроспецкии в сишные потраха. Даже ципкл в питоне формально нельзя развернуть в статический код.
| |
|
|
6.34, all_glory_to_the_hypnotoad (ok), 08:47, 08/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
ну конечно. Разверни вот такой код детерминированно в статик
from math import fabs
print reduce(lambda x,y: x + fabs(y), xrange(10))
и подумай зачем, например, в некоторых PL/SQL есть атрибуты у храминок типа IMMUTABLE,
STABLE, VOLATILE. Зачем похожие вещи есть в inline ассемблерах, в сях/поюсах const и т.п.
> К тому же Stalin - схема. Хотя какая разница, да.
в общем то да, в данном случае разница не велика. всё одинаково далеко от питона
| |
|
7.36, anonymous (??), 11:05, 08/07/2011 [^] [^^] [^^^] [ответить]
| –2 +/– |
> ну конечно. Разверни вот такой код детерминированно в статик
и что? очевидно, что это работа с числами.
> всё одинаково далеко от питона
гвидобейсик такой гвидобейсик.
| |
|
8.38, Аноним (-), 13:30, 08/07/2011 [^] [^^] [^^^] [ответить] | +/– | Тебе с твоим человечьим мозгом может быть, и то не очевидно, ты просто догадывае... текст свёрнут, показать | |
|
|
|
|
|
3.12, Аноним (-), 01:33, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
Анализировать динамический код и выводить по возможности типы переменных умеет любая современная IDE, посмотри что ли на продукты JetBrains.
| |
|
4.29, pro100master (ok), 20:58, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
не в обиду, но - не умеет. Вернее умеет, но только то, что задана в её внутренностях. Реально, где она рулит - джава. Надо понимать за счет рефлексии и реверса - это для неё нативно.
| |
4.30, all_glory_to_the_hypnotoad (ok), 21:21, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
это всё "эвристический" вероятностный анализ. Для формального детерминированного выполнения он совсем не подходит, а для разбора в первом приближении вполне.
| |
|
|
2.25, Аноним (-), 18:16, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> потому что компилятор дурачок
Вообще, господин Тюринг выдвинул довольно интересную теорию: одна программа никогда не сможет полностью проанализировать работу другой программы. Поэтому кой-кто прямо так и хочет попрыгать по этим граблям и попытаться сделать то, чего достичь невозможно даже теоретически :)
| |
|
3.27, anonymous (??), 18:21, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Вообще, господин Тюринг выдвинул довольно интересную теорию: одна программа никогда не
> сможет полностью проанализировать работу другой программы.
и поэтому анализаторы вообще не нужны, ага.
| |
|
|
1.4, tavaaver (?), 23:22, 06/07/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Странно, что в тесте Sudoku компилятор оказался в 31 раза быстрее CPython и в 4 раза быстрее PyPy.
Если прочитать это предложение в обратную сторону, то получится, что на PyPy этот тест выполняется в разы быстрее, чем на CPython.
Это не очень логично — CPython изначально должен быть быстрее всех остальных интерпретаторов, кроме Jython (поскольку там JIT).
Или я чего-то не понимаю? Может в PyPy оптимизации какие хитрые есть?
Кто-нибудь из знатоков Питона может объяснить?
| |
|
|
3.9, Stax (ok), 23:37, 06/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
В PyPy есть JIT. Собственно, для этого он и делался, чтобы быть быстрее CPython.
| |
|
4.14, bw (ok), 06:03, 07/07/2011 [^] [^^] [^^^] [ответить]
| –1 +/– |
Не для этого он делался.
Это площадка для экспериментов, на Python (PyPy) писать проще чем на C (CPython). И JIT здесь можно считать очередным экспериментом, который появился достаточно быстро (ну в CPython его ещё нет и будет ли) именно благодаря выбранному языку реализации.
..bw
| |
|
5.15, Имя (?), 08:01, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
>Не для этого он делался.
Для этого.
>Это площадка для экспериментов, на Python (PyPy) писать проще чем на C (CPython).
Он не на Python а на RPython написан.
| |
|
|
|
2.7, Аноним (-), 23:33, 06/07/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
CPython самый медленный так как интерпретатор, а PyPy - быстрый так как использует JIT-компиляцию.
"Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, минуя фазу интерпретации байткода в виртуальной машине, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python на языке Си - при выполнении 20 тестов производительности PyPy в среднем опережает CPython в 3.6 раз."
http://www.opennet.me/opennews/art.shtml?num=30422
| |
|
1.6, szh (ok), 23:29, 06/07/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
вот здесь: http://snowplow.org/martin/rebench/ хороший Regular expression speed comparison для perl, python, ruby
У меня python 2.6.5 проигрывает по скорости perl 5.10.1 от 2х до 8 раз (в одном тесте в 20) (Ubuntu 10.04).
IronPython 2.6 проигрывает обычному python в ~10 раз.
PyPy 1.2.0 проигрывает обычному python от 2 до 20 раз.
Интересно как в этой штуке.
| |
|
2.8, anonymous (??), 23:33, 06/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> У меня python 2.6.5 проигрывает по скорости perl 5.10.1 от 2х до
> 4х раз (в одном тесте в 20) (Ubuntu 10.04). IronPython 2.6
> проигрывает обычному python в ~10 раз.
в синтетических тестах? слабый показатель. мой доморощеный скриптовый язык, например, в синтетических тестах перл обгоняет. а на самом деле -- тормозит.
| |
|
3.10, szh (ok), 23:40, 06/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
Это тесты на регекспы. Там хорошо обыграны разные комбинации.
| |
|
4.11, anonymous (??), 23:43, 06/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Это тесты на регекспы.
что вообще имеет мало отношения к скорости языка. вон, на многих часто используемых (и умно составленых) регэкспах tre раскатывает катком и перл, и pcre. если я заменю pcre на tre — я ведь не ускорю язык этим.
| |
4.16, Имя (?), 08:04, 07/07/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Это тесты на регекспы. Там хорошо обыграны разные комбинации.
У Яндекса какая-то библиотека есть которая делает перл как стоячий обгоняя его в 35 раз на регекспах. К языку синтетические тесты не имеют отношения.
| |
|
5.21, anonymous (??), 13:35, 07/07/2011 [^] [^^] [^^^] [ответить]
| –1 +/– |
> У Яндекса какая-то библиотека есть которая делает перл как стоячий обгоняя его
> в 35 раз на регекспах. К языку синтетические тесты не имеют
> отношения.
«Pire does not have any Perlish conditional regexps, lookaheads & backtrackings, greedy/nongreedy matches; neither has it any capturing facilities.»
кастраты не интересны.
| |
|
6.22, Имя (?), 14:08, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
>«Pire does not have any Perlish conditional regexps, lookaheads & backtrackings, greedy/nongreedy matches; neither has it any capturing facilities.»
А прочитать README.RU не судьба
>кастраты не интересны.
Анонимы не интересны.
| |
|
5.32, szh (ok), 21:57, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> У Яндекса какая-то библиотека есть которая делает перл как стоячий обгоняя его в 35 раз на регекспах. К языку синтетические тесты не имеют отношения.
Эта библиотека почти ничего из функционала регекспов не умеет, только самое простое. Не умеет даже greedy/nongreedy matches, так что не важно во сколько раз, когда неюзабельно.
| |
|
|
3.26, Аноним (-), 18:18, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> в синтетических тестах? слабый показатель.
Нихрена себе синтетика - регэкспы. Они и в реальных программах там и тут :)
| |
|
4.28, anonymous (??), 18:22, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Нихрена себе синтетика - регэкспы. Они и в реальных программах там и
> тут :)
ты не в курсе, что тесты регэкспов тоже бывают синтетические?
алсо, в большинстве случаев как раз полномасштабный движок регэкспов не нужен, часто достаточно того subset, например, что в Lua вмонтирован (взял просто первый попавшийся под руку пример).
| |
|
|
2.24, Макс (??), 16:14, 07/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
1.2 это ооочень старая версия - практически без всяких оптимизаций. В 1.3 или 1.4 они как-раз подкрутили регулярки, если мне память не изменяет.
| |
|
|
2.20, anonymous (??), 13:34, 07/07/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А почему для perl никто компиляторы не пишет? Неуловимый Джо?
пишут, parrot. кучу лет уже пишут. ну, это ж перлисты — они ещё долго писать будут.
| |
|
|
|
|
6.44, anonymous (??), 10:11, 09/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Дык для PHP вон HipHop сделали, а для Perl ничего?
livejournal работает и без хипхопа.
| |
|
|
4.46, anonym (?), 20:15, 11/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
> А транслятор в C или С++ не существует?
Кстати да. Зачем?
Критичные участки кожа можно переписать на C\C++ и подключить через XS.
| |
|
5.48, Аноним (-), 14:05, 15/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
Вспоминается история Rambler почты, когда выкинули perl и переписали всё на Си.
Было 80 серверов, стало 5. Это я к чему, имеет ли смысл писать проекты с высокой нагрузкой на перл или сразу начинать с Си?
| |
|
|
3.45, anonym (?), 20:13, 11/07/2011 [^] [^^] [^^^] [ответить]
| +/– |
parrot - он для всего, в первую очередь для perl6, а потом уже питон, перл5, руби и т.п.
| |
|
|
|