LINUX.ORG.RU

Python vs. Jython - кто быстрее ?


0

0

Решил проверить на сколько Jython медленее Python. И какого же было мое удивление, когда оказалось, что все в точностью да наоборот. Jython в 3 раза (!) БЫСТРЕЕ Python.

Вот резулютаты тесвот:

$ cat > t2p69.py
f = open("t2p69.out", "w", 0)
f.write(str(2**999999))
f.close()

$ time python t2p69.py

real 1m33.730s
user 1m34.110s
sys 0m0.020s

$ time jython t2p69.py

real 0m29.990s
user 0m31.930s
sys 0m1.760s

Система:
python-2.5.1
jython-2.2
jre-6u2
CentOS 3.8
Linux 2.4.21-47.ELsmp #4 SMP Thu Sep 7 14:30:30 MSD 2006 x86_64 x86_64 x86_64 GNU/Linux

Сервер: 8x AMD Dual Core Opteron 875, 2.2 ГГц, 32Gb

P.S.: Понимаю, что тесты не охти, но все-таки хоть что-то они да показывают. Если предложите свои тесты, то с удовольствием проверю на них.

jython насколько я понимаю компилится в байт-код для жабамашины и ничем не отличается от родного жабского, а жаба как известно быстрее python

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

для компиляции java программ нужен компилятор java (например javac, который входит в jdk), а для выполнения байт-кода (в том числе и с jit компиляцией в машинный код) достаточно и jvm, которая есть и в jre.

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

С математикой у жабы лучше Вот тесты уже типа сетевых функций, реально большая работа по пересборке файлов и прочее это может сильно нагрузить

На личном примере - 2 программы работающие почти одинаково, в основном имеющие родственный код Java безбожно тормозила за счет того что забила мне процессор а питон работал парралельно делая довольно муторные расчеты (сравнивал 4 изображения) и притом заняв ресурсы буквально на каплю Теперь представьте что было-бы при использовании скрипта питона в интерпритации явы? :)

так что скорее всего тут следующие - в чемто juthon быстрее python а в чемто наоборот

Red_Lion
()

Ну ты и тест придумал. Это ж не язык тестируется, а системные вызовы.

Вот пример иной:

def fib(n):
    if n > 2:
        return fib(n-1) + fib(n-2)
    else:
        return 1

print fib(34)


$ time python fib.py 
5702887

real    0m5.874s
user    0m5.856s
sys     0m0.007s

$ time jython fib.py 
5702887

real    0m8.858s
user    0m8.649s
sys     0m0.132s

А если с psyco, то:

$ time python fib.py 
5702887

real    0m0.249s
user    0m0.238s
sys     0m0.007s

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

Ну тригонометрию относительно неплохо... по сравнению с чистым башем :) Итерпритация включает в себя много аспектов... Вот возьте встоенные функци языка и посмотрите где какие быстрее

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

Хе. Проверил у себя этот тест. Вот результвты :)

$ cat > fib.py
def fib(n):
if n > 2:
return fib(n-1) + fib(n-2)
else:
return 1

print fib(34)

$ time python fib.py
5702887

real 0m6.590s
user 0m6.580s
sys 0m0.000s

$time jython fib.py
5702887

real 0m4.910s
user 0m5.520s
sys 0m0.440s

Тест проводил несколько раз. В качестве результата выбрал среднее (хотя они сильно и не различались).
Какие версии прог у тебя стоят. Какой проц. Интересно почему такая разница ?!?!

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