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

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   Python/Lua etc. (https://forum.zone-game.info/showthread.php?t=34705)

hardtendo 07.04.2014 22:32

Python/Lua etc.
 
Привет всем, собственно говоря - я хотел поинтересоваться вопросом, для чего используют в дополнительных компилируемых скриптах, допустим, используют язык отличный от основного, допустим как C# + Lua (тобишь, основной C# а скриптовый - Lua), или питон, это как-то влияет на производительность? или что-то еще? Просто допустим я пишу Blade & Soul эмулятор, и как многие использую скрипты, но пишу их же на основном языке и никаких проблем с производительностью не возникает, все быстро, красиво и четко работает.
Хотел бы услышать ваше мнение на этот счет,И в надежде ответы на главные вопросы ;)
Спасибо за внимание.

APKO 07.04.2014 22:41

Re: Python/Lua etc.
 
возможность оставить скрипты не скомпилиные, а в исходном коде...
Ето по моему мнению...

trixiejack 07.04.2014 23:47

Re: Python/Lua etc.
 
Самое главное - дать другим писать дополнительный контент без повторной компиляции основного сервера.

ProDev 07.04.2014 23:56

Re: Python/Lua etc.
 
Это очень спорное утверждение (если говорить о L2-разработках) - связанность кода настолько высока, что вся задумка теряет смысл. Банальный пример - какого черта конфиги хранятся в ядре, а пользуются в скриптах? То есть все эти размышления на тему динамичности - вопрос очень спорный. Мне очень интересно узнать статистику сколько людей пользуются этой псевдо-динамичностью на продакшене. Подозреваю, что их количество не больше 5%. Дальше больше - что произойдет в момент перезагрузки? Да много там вопросов. До кучи еще один бонус - все грузится в отдельный ClassLoader, это может стать большой занозой.

Но тема все же не о L2 :) Есть смысл делать какие-то атомарные (в общем понимании) операции на скриптах. Пример из жизни - есть массив данных, количество записей 200+ миллионов записей, все в реляционной базе. У каждой записи есть от 1 до N (где N не ограничено сверху) параметров, в т.ч. динамических. Можно хранить в таблице key-value, но это на таком объеме будет огромной проблемой. В итоге заюзаны динамически вычисляемые переменные - небольшой groovy-скрипт, который решает вопрос.

Еще один пример - BP. Очень удачно концепция ложится на скрипты. Или, допустим, случай, когда что-то нужно оперативно поправить в Runtime, но через API функционал не доступен из-вне. Простенький Script Runner и вперед - особенно хорошо работает, если есть IoC контейнер, тогда в скрипте нужен только контекст и дело в шляпе. В общем, из реальных задач есть интересные примеры, но то, что в Л2 наворотили - очень сомнительно в плане профита.

hardtendo 08.04.2014 12:30

Re: Python/Lua etc.
 
Цитата:

Сообщение от ProDev (Сообщение 359461)
Это очень спорное утверждение (если говорить о L2-разработках) - связанность кода настолько высока, что вся задумка теряет смысл. Банальный пример - какого черта конфиги хранятся в ядре, а пользуются в скриптах? То есть все эти размышления на тему динамичности - вопрос очень спорный. Мне очень интересно узнать статистику сколько людей пользуются этой псевдо-динамичностью на продакшене. Подозреваю, что их количество не больше 5%. Дальше больше - что произойдет в момент перезагрузки? Да много там вопросов. До кучи еще один бонус - все грузится в отдельный ClassLoader, это может стать большой занозой.

Но тема все же не о L2 :) Есть смысл делать какие-то атомарные (в общем понимании) операции на скриптах. Пример из жизни - есть массив данных, количество записей 200+ миллионов записей, все в реляционной базе. У каждой записи есть от 1 до N (где N не ограничено сверху) параметров, в т.ч. динамических. Можно хранить в таблице key-value, но это на таком объеме будет огромной проблемой. В итоге заюзаны динамически вычисляемые переменные - небольшой groovy-скрипт, который решает вопрос.

Еще один пример - BP. Очень удачно концепция ложится на скрипты. Или, допустим, случай, когда что-то нужно оперативно поправить в Runtime, но через API функционал не доступен из-вне. Простенький Script Runner и вперед - особенно хорошо работает, если есть IoC контейнер, тогда в скрипте нужен только контекст и дело в шляпе. В общем, из реальных задач есть интересные примеры, но то, что в Л2 наворотили - очень сомнительно в плане профита.

ага, спасибо, Я понял, спасибо большое :3

xTz 09.04.2014 20:00

Re: Python/Lua etc.
 
Цитата:

Сообщение от hardtendo (Сообщение 359521)
ага, спасибо, Я понял, спасибо большое :3

Что ты понял такеша ? =)

hardtendo 10.04.2014 03:56

Re: Python/Lua etc.
 
Цитата:

Сообщение от xTz (Сообщение 359622)
Что ты понял такеша ? =)

O.o что это за бред? типа выкидыш агрессивности в мою сторону?


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

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