Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 14194|Respuesta: 0

Fortalezas y debilidades de Lua y Luajit

[Copiar enlace]
Publicado en 27/4/2018 9:44:40 | | | |
1. ¿Qué es lua&luaJit?



lua(www.lua.org)En realidad es un lenguaje de scripting desarrollado para incrustar otras aplicaciones
luajit(www.luajit.org)Es un compilador de tiempo justo en tiempo de ejecución de lua, y también puede considerarse una versión eficiente de lua.

2. Ventajas

1) Lua es un lenguaje de scripting embebido libre, pequeño, sencillo, potente, eficiente y ligero, y la versión actual 5.3.1 de Lua es solo de 276k.
2) Es un proyecto desarrollado en C, por lo que puede ejecutarse en la mayoría de los sistemas operativos
3) Actualmente, Lua es el lenguaje de scripting más rápido, lo que puede mejorar la flexibilidad del lenguaje y maximizar la velocidad de retención
4) Su sintaxis es muy simple, no hay excepciones
5) Lua también puede usarse como API para C

3. Insuficiencias y diferencias

1) Lua no tiene una biblioteca potente, por lo que muchas funciones están implementadas sin los lenguajes de scripting concisos como python, perl y ruby
2) La función de gestión de excepciones de Lua es controvertida, aunque proporciona funciones de gestión de excepciones para pcland y xpcall
3) No se proporciona soporte para la codificación Unicode en el idioma nativo LUA, aunque http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html puede lograrse mediante algunos compromisos
4) No proporciona operaciones ternarias de operador para a?b:c, que se usa ampliamente en C++
5) Sin interruptor... caso... sintaxis, que solo puede hacerse a través de: si no... si no... si no... Método final
6) La sintaxis continue no se proporciona al hacer loops
7) No existen operaciones como a++ y a+=1, que se usan ampliamente en C++
8) El índice de Lua empieza en 1, no en el conocido 0 (cadena, tabla)
9) Cuando asignas un elemento a cero, significa que el elemento no existe
10) El tipo numérico de lua es solo número, y no hay distinción entre int, float, double, etc
11) No existe el concepto de clases en lua, y sus clases se implementan en forma de tablas
12) Solo nil y falso en lua son falsos, y cero es verdadero en lua
13) Muchos programas necesitan marcar con () para ejecutarse, por ejemplo, a={["b"]=5}, se puede ejecutar print(a.b), pero {["b"]=5}.b informará de un error, y ({["b"]=5}).b es necesario

4. Resumen

En resumen, LUA es un ngx_lua sencillo y eficiente ampliamente utilizado en el desarrollo de lógica de juegos y en el desarrollo de servidores.

Transferido desde: https://blog.csdn.net/ugly_man_/article/details/48577007

Adjunto:

Prueba de comparación de rendimiento de Lua y Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031





Anterior:Vulnerabilidad en el cortafuegos de aplicaciones WAF de Nginx Lua
Próximo:Nginx añade módulos de terceros, así como módulos habilitables que son soportados de forma nativa por nginx
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com