1. Cos'è lua&luaJit?
lua(www.lua.org)In realtà è un linguaggio di scripting sviluppato per incorporare altre applicazioni
Luajit(www.luajit.org)È un compilatore just-in-time di lua, e può anche essere considerato una versione efficiente di lua.
2. Vantaggi
1) Lua è un linguaggio di scripting embedded gratuito, piccolo, semplice, potente, efficiente e leggero, e l'attuale distribuzione 5.3.1 di Lua è di soli 276k. 2) È un progetto sviluppato in C, quindi può funzionare sulla maggior parte dei sistemi operativi 3) Lua è attualmente il linguaggio di scripting più veloce, che può migliorare la flessibilità del linguaggio e massimizzare la velocità di retention 4) La sua sintassi è molto semplice, non ci sono eccezioni 5) Lua può essere usato anche come API per C
3. Inadeguatezze e differenze
1) Lua non ha una libreria potente, quindi molte funzioni sono implementate senza i linguaggi di scripting concisi come python, perl e ruby 2) La funzione di gestione delle eccezioni di Lua è controversa, anche se fornisce funzioni di gestione delle eccezioni per pcland e xpcall 3) Il supporto per la codifica Unicode non è fornito nella lingua madre LUA, anche se http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html può essere ottenuto tramite alcuni compromessi 4) Non fornisce operazioni di operatore ternario per a?b:c, che sono ampiamente utilizzate in C++ 5) Nessun interruttore... caso... sintassi, che può essere fatta solo se: altrosese... altrosese... altrimenti.. Metodo END 6) La sintassi continua non viene fornita durante il loop 7) Non esistono operazioni come a++ e a+=1, ampiamente utilizzate in C++ 8) L'indice di Lua inizia da 1, non dal familiare 0 (stringa, tabella) 9) Quando assegni un elemento a zero, significa che l'elemento non esiste 10) Il tipo numerico di lua è solo numero, e non c'è distinzione tra int, float, double, ecc 11) Non esiste il concetto di classi in lua, e le loro classi sono implementate sotto forma di tabelle 12) Solo nulla e falso in lua sono falsi, e zero è vero in lua 13) Molti programmi devono essere contrassegnati con () per essere eseguiti, ad esempio, a={["b"]=5}, print(a.b) può essere eseguito, ma {["b"]=5}.b segnala un errore, e ({["b"]=5}).b è necessario
4. Panoramica
In sintesi, LUA è un ngx_lua semplice ed efficiente ampiamente utilizzato nello sviluppo di logica di gioco e nello sviluppo server.
Trasferito da: https://blog.csdn.net/ugly_man_/article/details/48577007
Allegato:
Test di confronto delle prestazioni Lua e Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031
|