Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Java (https://forum.zone-game.info/forumdisplay.php?f=126)
-   -   (J)Python & Java (https://forum.zone-game.info/showthread.php?t=1780)

CHIPSET 30.08.2008 03:46

(J)Python & Java
 
Поговаривают,что (J)Python медленнее Java в 8 раз.
А как считаете Вы ?

Milldi 30.08.2008 12:08

Ответ: (J)Python & Java
 
Ну тут как посмотреть.

Если опрос относится к написанию квестов,аи,эвентов и т.п.

То ява скрипты откомпиленные при запуске и подключенные к ядру работают намного быстрее чем скрипты на джитоне.

Но разница будет заметна при игре на серверах с лоу рейтами где выполняется много квестов.

На ПВП серверах особой роли нет что используется. Разница почти незаметна т.к. количество выполняющихся скриптов минимально.

Ну и соответственно разницу можно заметить только при больших онлайнах. При низких онлайнах ее трудно заметить.

Если сравнивать скорость выполнения скриптов то однозначно скорость ява будет выше скорости джитона раз в 5 минимум. Точно указать нельзя т.к. на разных задачах скорость работы скриптов на джитоне будет разной.

DarkLoki 30.08.2008 12:22

Ответ: (J)Python & Java
 
Так вы сделайте тест... запустите скрипт на джитоне и сделайте тот же самый скрипт на яве и засеките (программно, а то щас пойдут маразмы типа "Секундомером что ли считать?") время выполнения.

Milldi 30.08.2008 12:45

Ответ: (J)Python & Java
 
Цитата:

Сообщение от DarkLoki (Сообщение 18753)
(программно, а то щас пойдут маразмы типа "Секундомером что ли считать?") время выполнения.

Можно и секундомером. :) если скрипт будет выполняться продолжительно по времени и выводить в консоль метку начала и метку окончания выполнения (для эксперемента вполне достаточно ведь нам же не нужна точность по времени 1*10Е-4).

Да и сомневаюсь что это так важно измерять скорость их выполнения.

DarkLoki 30.08.2008 13:19

Ответ: (J)Python & Java
 
Milldi,

Цитата:

Сообщение от Milldi (Сообщение 18757)
выводить в консоль метку начала и метку окончания выполнения

Ну это и есть программно, рядом с меткой время.


Цитата:

Сообщение от Milldi (Сообщение 18757)
Да и сомневаюсь что это так важно измерять скорость их выполнения.

Ну почему же ? Допустим скрипт выполняется быстрее на 0.001 секунду, не так много... Онлайн - 20 чел - разница 0.020 секунды, не много. Онлайн - 1000 - разница 1 секунда, уже ощутимо

Milldi 30.08.2008 13:51

Ответ: (J)Python & Java
 
Цитата:

Сообщение от DarkLoki (Сообщение 18760)
Ну почему же ? Допустим скрипт выполняется быстрее на 0.001 секунду, не так много... Онлайн - 20 чел - разница 0.020 секунды, не много. Онлайн - 1000 - разница 1 секунда, уже ощутимо

Все правильно. но это только в теории. На практике этот вопрос не важен для 90% пользователей этих скриптов. Например можно ускорить незначительно работу скриптов если заменить в них константы на конкретные значения в коде. Читабельность скриптов упадет но несколько ускорит работу и сократит немного используемой скриптом памяти однако никто этого делать не будет потому что большинству просто не хочется просто блокнотиком поработать над скриптом 5 минут. Их устроит и то что имеют.
С выбором же языка для скрипта заморачиваются только те кто пишет скрипты а они и так знают что выбрать для себя. Отсюда и вывод что измерять реально скорость работы скрипта полезно только в академических целях. На практике это измерение особо не нужно.

DarkLoki 30.08.2008 13:56

Ответ: (J)Python & Java
 
Milldi
Гы, ну так и тема то для академического интереса, это и так понятно, что заранее скомпилинный кусок кода будет быстрее выполнятся, чем отдельно подключаемый джитон :)

Milldi 01.09.2008 20:12

Ответ: (J)Python & Java
 
Вот нарыл кое что на эту тему. Взято с форума Balanser'a пост самого Balanser'a

Цитата:

Хых. Я сейчас провёл простенький вычислительный бенч Jython'а. На коде
def fib(n):
if n < 2:
return 1

return fib(n-1) + fib(n-2)

print fib(33)
code, type 'python'


он работает на треть медленнее... чистого Питона!
time python fib.py
user 0m13.931s

time jython fib.py
user 0m18.917s

time java -cp /usr/share/jython/lib/jython-2.1.jar:/usr/share/libreadline-java/lib/libreadline-java.jar:.:./jpywork::/usr/share/jython/tools/jythonc:/home/balancer/programming/python/.:/usr/share/jython/Lib fib
user 0m18.857s
code, type 'text'


Справедливости ради, скорость работы Питона сильно выросла за последние пару лет Вот Perl:
time perl fib.pl
user 0m22.480s
code, type 'text'


Ну и для сопоставления.

Вот чистый Си:
time ./a.out
user 0m0.215s
code, type 'text'


Java:
time java fib
user 0m0.368s
code, type 'text'

Правда в этом тесте только вычислительные мощьности проверяются на реальных скриптах разница будет другая.

Aquanox 04.10.2008 18:32

Ответ: (J)Python & Java
 
jython написан на java, поэтому по определению он быстрее быть не может (по аналогии C++ и Java или C и PHP (хотя это другая тема)).

если сравнивать чистый питон (на С) и яву гляньте статейку
_http://www.ferg.org/projects/python_java_side-by-side.html
или
_http://www.twistedmatrix.com/~glyph/rant/python-vs-java.html (обратите внимание на табличку)

а можно такую веселую статейку =) :
_http://www.python.org/doc/essays/ppt/acm-ws/sld024.htm

Trident 15.11.2008 23:36

Ответ: (J)Python & Java
 
Почитал статейки и сделал вывод Java рулит:)


Текущее время: 20:22. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot