1. Kaj je lua&luaJit?
lua(www.lua.org)Pravzaprav gre za skriptni jezik, razvit za vgradnjo drugih aplikacij
luajit(www.luajit.org)Gre za prevajalnik lua v času izvajanja just-in-time, prav tako pa lahko rečemo, da je učinkovita različica Lua.
2. Prednosti
1) Lua je brezplačen, majhen, preprost, zmogljiv, učinkovit in lahek vgrajen skriptni jezik, trenutna distribucijska različica 5.3.1 Lua pa je le 276k. 2) Gre za projekt, razvit v jeziku C, zato lahko deluje na večini operacijskih sistemov 3) Lua je trenutno najhitrejši skriptni jezik, kar lahko izboljša prilagodljivost jezika in maksimira hitrost pomnjenja 4) Njena sintaksa je zelo preprosta, ni izjem 5) lua se lahko uporablja tudi kot API za C
3. Pomanjkljivosti in razlike
1) Lua nima zmogljive knjižnice, zato je veliko funkcij implementiranih brez jedrnatih skriptnih jezikov, kot so python, perl in ruby 2) Funkcija obravnave izjem v Lua je kontroverzna, čeprav zagotavlja funkcije obravnave izjem za pcland in xpcall 3) Podpora za Unicode kodiranje v maternem jeziku LUA ni zagotovljena, čeprav je http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html mogoče doseči z določenimi kompromisi 4) Ne omogoča ternarnih operatornih operacij za a?b:c, ki je široko uporabljen v C++ 5) Brez stikala... primer... Skladnja, ki jo je mogoče izvesti le, če: drugače... drugače... drugače.. Končna metoda 6) Sintaksa nadaljevanja ni na voljo pri zankanju 7) Ni operacij, kot sta a++ in a+=1, ki bi bile široko uporabljene v C++ 8) Luajev indeks se začne pri 1, ne pri znanem 0 (niz, tabela) 9) Ko element dodelite nič, to pomeni, da element ne obstaja 10) Numerična vrsta lua je le število, pri čemer ni razlike med int, float, double itd 11) V lua ni koncepta razredov, njihovi razredi so implementirani v obliki tabel 12) Samo nil in false v lua sta napačni, nič pa je resničen v lua 13) Veliko programov je treba označiti z () za zagon, na primer a={["b"]=5}, print(a.b) se lahko izvaja, vendar {["b"]=5}.b poroča o napaki, in ({["b"]=5}).b je potreben
4. Pregled
Povzemimo, LUA je preprosta in učinkovita ngx_lua široko uporabljena pri razvoju logike iger in strežnikov.
Preneseno iz: https://blog.csdn.net/ugly_man_/article/details/48577007
Priloženo:
Primerjalni test zmogljivosti Lua in Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031
|