Пример производительности Джулии Питон в pypy
Julia - новый статистический язык программирования, который требует значительно более высокой производительности, чем конкурирующие языки. Я пытаюсь проверить это. У Джулии есть тест производительности, написанный на Python:
https://github.com/JuliaLang/julia/blob/master/test/perf/perf.py
Я не могу заставить его работать с pypy. Возможно, это связано с несовместимостью numpypy с numpy, но я не достаточно далеко, чтобы это определить. Я выполнил команду ImportError "...or just write 'import numpypy' first in your program..."
, но я получил еще один ImportError: "No module named numpy.linalg"
У меня почти нет опыта работы с Python, и я ищу полное решение, которое я могу запустить. Преимущество этого заключается в том, что мы можем сравнить сравнение яблок с яблоками (jit lang-to-jit lang).
Ответы
Ответ 1
Linalg не выполняется на данный момент. Я думаю, что новый ffi и получение 1.9 за дверью (которые требуют довольно много нужных исправлений, см. Трекер ошибок), получают главный приоритет. Я не думаю, что линальг сейчас интересен. Мы хотели бы, чтобы сначала выполнялось несколько операций numpy. Хотя я открыт, чтобы убедиться. Аргументы?
Ответ 2
![Test of python and julia performance]()
Есть 4 теста на Julia git (perf.py) в чистом Python.
Здесь я запускаю на том же компьютере perf.py (только чистый тест Python) и perf.pl для сравнения яблок и яблок.
Я немного волнуюсь за время Python/Pypy:/
И... Почему
## fibonacci ##
def fib(n):
if n<2:
return n
return fib(n-1)+fib(n-2)
медленнее в Pypy, чем в Python?
Я размещаю этот вопрос в https://bugs.pypy.org/issue1344 [Pypy медленнее в рекурсии, чем Python2.7, Python3.2 и Julia]
Я получаю следующий ответ:
Это ситуация, когда время прогрева очень важно (оно пытается inline все рекурсии), но как только вы согреете его, на самом деле очень быстро.
Итак, я делаю текст с разными числами n для fib (n). Действительно, Pypy приходит быстрее, чем Python с n > 30, но в рекурсии медленнее, чем Julia:
[En жирный более быстрый реализатор python]
![Recursion in Pypy Python and Julia]()
Поскольку они реализованы с рекурсией, Quicksort и fib более медленны в Pypy.
Юлия, кажется, быстрее, чем PyPy.