Всем привет, подскажите/расскажите пожалуйста, что предпочтительней и почему Lua или Jass?

Первая карта (benchmark.w3m) содержит исходники скрипта.
Вторая карта (benchmark-packed.w3m) уже укомплектована DLL с нативками и готова к запуску.
Решил у себя проверить, вот разница от local integer p и local integer dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
Разница в 24нс на 1 итерацию.
Дальше по поводу вызова функций, ForForce добавляет свою задержку, но хз по идее она не должна сильно повлиять, а по поводу сортировки, тут уже отсутствие оптимизации компилятора/интерпретатора, который есть даже на паскале, по этим нюансам офк джасс уступает, но я говорил непосредственно про нативки и про +- дефолтную "конвенцию" и работу со скриптами от большинства картоделов, кому эта разница не увидится нигде.
Но если уже судить по всем пунктам и сразу, то конечно же LUA будет лучше по всем параметрам в плане производительности и скорости, но у Джасса своя ниша, и куда более простой "путь" входа, что фактически является его самым большим и возможно единственным плюсом.
Это все очень хорошо, но так и не дали главный ответ - что лучше луа или джасс? Чтобы можно было закрыть этот тред
Ответ был уже дан - LUA профитнее по большим пунктам, если есть хоть чуть-чуть знания/азы программирования. Если же нет, то Джасс будет проще и быстрее освоить, да и в плане Вар 3 - я считаю что он всё-равно удобнее.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
15
Vlod, сравни скорость вызова нативок из плюсов и из Джасса.
18
JackFastGame, причем тут скорость исполнения функции из api варкрафта и производительность самого языка. Для примера можете посмотреть как тестируются языки тут habr.com/ru/post/532432
20
Главное, что стоит знать: Jass по производительности не уступает С++.
JackFastGame, причем тут скорость исполнения функции из api варкрафта и производительность самого языка. Для примера можете посмотреть как тестируются языки тут habr.com/ru/post/532432
С++ был и будет всегда быстрее чем джасс и тот же ЛУА, да и он +- в 100 раз быстрее ЛУА (который считается самым быстрым интерпретируемым языком). Но в Варкрафте в целом от этих разницы будет не большая разница, но как и сказал konvan5, если был опыт с ЛУА, то используй его, тем более если планируешь работать на рефорджеде (по-мимо проекта от Ev3nt и китайского YDWE с ЛУА варианто поработать на ЛУА вне рефорджеда и нет). Но вот по фреймам - неправда, ибо нативки и там и там есть и делать можно всё так же.
По вызову нативок, разница была в наносекунды, то бишь JASM байткод в целом обрабатывается на достаточно приемлемой скорости, но лимит Jass обработчика - это циклы, которые имеют лимит (который я не знаю где снимать) и при превышении его нормы игра просто на просто отказывается это "обрабатывать" и уходить в застой. :D
Всё в общем склоняется к твоим навыкам и восприятию ЯП, если же (без обид) тебе с трудом даются ЯП, то Jass будет тебе проще.
15
Я писал много на Jass и могу скзать, что он сильно уступает Lua по удобству. Анонимные функции те же, когда ты пишешь таймер и СРАЗУ же в теле этой структуры с таймером пишешь функцию на исполнение, а не отдельно. Кроме того, когда я писал ботов для моба карты, как же я задолбался с этой хэш таблицей, ключ-значение и сами функции пишутся неудобно громоздко на извлечение/получение данных из хэш-таблицы. Когда на луа вместо хэш-таблицы можно сделать ну очень удобную таблицу и даже метатаблицу. Нету избыточных операторов Call, set... Единственное что, я бы всё равно предпочёл строгую типизацию и вместо Lua если бы нормально работал конвертер, я бы писал на TypeScript всегда.
20
DarkLigthing, typescripttolua.github.io не плохо работает. + есть типы: www.npmjs.com/package/luacraft-1.26 (правда для 1.26), но если автора пнуть - то может сделает и для 1.32
19
Kirill78, к тому же, функционал луа на 1.26 будет расширятся, а с учётом текущих разработок для Jass от Unryze, там будет ещё больше функций.
38
Главное, что стоит знать: Jass по производительности не уступает С++.
Вот это полная дезинфа, комментатору нужно пойти читать книги
38
JackFastGame, в c++ нет понятия "нативки", что за бред ты несёшь, окстись
19
C++ в любом случае будет быстрее, потому что там идёт непосредственный вызов функций, в отличии от того же JASS.
15
ScorpioT1000, в чём смысл рассуждать вне контекста Warcraft API? Очевидно, что когда мы сравниваем производительность этих двух языков, нас интересует в первую очередь скорость арифметики (и то скорее для всяких библиотек типа DGUI), синтаксических конструкций, скорость вызова нативок. Если из Jass они вызываются так же быстро, как из плюсов, то Lua уже как минимум не быстрее, и вопрос производительности при рассмотрении "Jass или Lua" отпадает.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.