Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 14194|Répondre: 0

Forces et faiblesses de Lua et Luajit

[Copié le lien]
Publié sur 27/04/2018 09:44:40 | | | |
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





Précédent:Vulnérabilité du pare-feu d’applications WAF de Nginx Lua
Prochain:Nginx ajoute des modules tiers, ainsi que des modules compatibles nativement avec NGINX
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com