1. Що таке lua&luaJit?
lua(www.lua.org)Насправді це мова скриптів, розроблена для вбудови інших додатків
luajit(www.luajit.org)Це компілятор runtime для lua, який також можна назвати ефективною версією lua.
2. Переваги
1) Lua — це вільна, маленька, проста, потужна, ефективна та легка вбудована скриптівна мова, а поточна версія дистрибуції 5.3.1 Lua становить лише 276k. 2) Це проєкт, розроблений на C, тому він може працювати на більшості операційних систем 3) Lua наразі є найшвидшою мовою скриптів, що може підвищити гнучкість мови та максимізувати швидкість її запам'ятовування 4) Синтаксис дуже простий, винятків немає. 5) lua також може використовуватися як API для C
3. Недоліки та відмінності
1) Lua не має потужної бібліотеки, тому багато функцій реалізовані без стислих скриптових мов, таких як python, perl і ruby 2) Функція обробки винятків у Lua є суперечливою, хоча вона забезпечує функції обробки винятків для pcland і xpcall 3) Підтримка кодування Unicode не передбачена у рідній мові LUA, хоча http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html можна досягти шляхом деяких компромісів 4) Він не забезпечує тернарні операторні операції для a?b:c, який широко використовується в C++ 5) Немає перемикача... кейс... Синтаксис, який можна зробити лише якщо: інакше.. інакше.. інакше... Кінцевий метод 6) Синтаксис продовження не надається під час циклування 7) Не існує операцій, таких як a++ і a+=1, які широко використовуються в C++ 8) Індекс Lua починається з 1, а не знайомого 0 (рядок, таблиця) 9) Коли ви призначаєте елемент нульовим, це означає, що елемент не існує 10) Числовий тип lua — це лише число, і немає різниці між int, float, double тощо 11) У lua немає поняття класів, і їхні класи реалізовані у вигляді таблиць 12) Лише nul і хибні в lua є хибними, і нуль істинний у lua 13) Багато програм потрібно позначати () для запуску, наприклад, a={["b"]=5}, можна виконати print(a.b), але {["b"]=5}.b повідомлятиме про помилку, і ({["b"]=5}).b потрібна
4. Огляд
Підсумовуючи, LUA — це простий і ефективний ngx_lua широко використовується в розробці ігрової логіки та серверів.
Переведено з: https://blog.csdn.net/ugly_man_/article/details/48577007
Додається:
Тест порівняння продуктивності Lua та Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031
|