1. Qu’est-ce que lua&luaJit ?
lua(www.lua.org)C’est en réalité un langage de script développé pour intégrer d’autres applications
Luajit (www.luajit.org)C’est un compilateur just-in-time de lua, et on peut aussi dire qu’il s’agit d’une version efficace de lua.
2. Avantages
1) Lua est un langage de script embarqué gratuit, petit, simple, puissant, efficace et léger, et la version actuelle 5.3.1 de Lua ne fait que 276k. 2) C’est un projet développé en C, il peut donc fonctionner sur la plupart des systèmes d’exploitation 3) Lua est actuellement le langage de script le plus rapide, ce qui peut améliorer la flexibilité du langage et maximiser la vitesse de rétention 4) Sa syntaxe est très simple, il n’y a pas d’exception 5) Lua peut aussi être utilisé comme API pour C
3. Insuffisances et différences
1) Lua ne possède pas de bibliothèque puissante, donc de nombreuses fonctions sont impréglées sans langages de script concis tels que python, perl et ruby 2) La fonction de gestion des exceptions de Lua est controversée, bien qu’elle fournisse des fonctions de gestion des exceptions pour pcland et xpcall 3) Le support de l’encodage Unicode n’est pas fourni dans la langue native LUA, bien que http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html puisse être obtenu par certains compromis 4) Il ne fournit pas d’opérations ternaires d’opérateurs pour a ?b :c, ce qui est largement utilisé en C++ 5) Pas d’interrupteur... Affaire... syntaxe, qui ne peut être réalisée que par : sinon... sinon... sinon... Méthode finale 6) La syntaxe continue n’est pas fournie lors de la boucle 7) Il n’existe pas d’opérations telles que a++ et a+=1, qui sont largement utilisées en C++ 8) L’indice de Lua commence à 1, pas au 0 familier (chaîne, tableau) 9) Lorsque vous attribuez un élément à zéro, cela signifie que cet élément n’existe pas 10) Le type numérique de lua n’est que le nombre, et il n’y a pas de distinction entre int, float, double, etc 11) Il n’existe pas de concept de classes dans le lua, et leurs classes sont implémentées sous forme de tables 12) Seuls nil et faux en lua sont faux, et zéro est vrai en lua 13) De nombreux programmes doivent être marqués avec () pour s’exécuter, par exemple, a={["b"]=5}, print(a.b) peut être exécuté, mais {["b"]=5}.b signalera une erreur, et ({["b"]=5}).b est nécessaire
4. Aperçu
En résumé, le LUA est un ngx_lua simple et efficace largement utilisé dans le développement de logique de jeux et de serveurs.
Transféré depuis : https://blog.csdn.net/ugly_man_/article/details/48577007
Pièce jointe :
Test de comparaison des performances Lua et Luajit : https://blog.csdn.net/alexwoo0501/article/details/50618031
|