1. Ce este lua&luaJit?
lua(www.lua.org)De fapt, este un limbaj de scripting dezvoltat pentru a integra alte aplicații
Luajit(www.luajit.org)Este un compilator de execuție just-in-time pentru lua și poate fi considerat și o versiune eficientă a lua.
2. Avantaje
1) Lua este un limbaj de scripting integrat gratuit, mic, simplu, puternic, eficient și ușor, iar versiunea actuală de distribuție 5.3.1 a Lua are doar 276k. 2) Este un proiect dezvoltat în C, deci poate rula pe majoritatea sistemelor de operare 3) Lua este în prezent cel mai rapid limbaj de scripting, ceea ce poate îmbunătăți flexibilitatea limbajului și maximiza viteza de retenție 4) Sintaxa sa este foarte simplă, nu există excepții 5) lua poate fi folosit și ca API pentru C
3. Inadecvate și diferențe
1) Lua nu are o bibliotecă puternică, așa că multe funcții sunt implementate fără limbaje de scripting concise precum python, perl și ruby 2) Funcția de gestionare a excepțiilor din Lua este controversată, deși oferă funcții de gestionare a excepțiilor pentru pcland și xpcall 3) Suportul pentru codificare Unicode nu este oferit în limba nativă LUA, deși http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html poate fi realizat prin unele compromisuri 4) Nu oferă operații ternare de operator pentru a?b:c, care sunt utilizate pe scară largă în C++ 5) Fără întrerupător... caz... sintaxă, care poate fi realizată doar prin dacă: altfel dacă... altfel dacă... altfel... Metoda de sfârșit 6) Sintaxa continue nu este oferită la buclă 7) Nu există operații precum a++ și a+=1, care sunt larg utilizate în C++ 8) Indicele lui Lua începe de la 1, nu de la 0 familiar (șir, tabel) 9) Când atribui un element la zero, înseamnă că acel element nu există 10) Tipul numeric al lua este doar un număr și nu există distincție între int, float, double etc 11) Nu există conceptul de clase în lua, iar clasele lor sunt implementate sub forma tabelelor 12) Doar nil și false în lua sunt false, iar zero este adevărat în lua 13) Multe programe trebuie marcate cu () pentru a rula, de exemplu, a={["b"]=5}, print(a.b) poate fi rulat, dar {["b"]=5}.b va raporta o eroare, iar ({["b"]=5}).b este necesar
4. Prezentare generală
În concluzie, LUA este un ngx_lua simplu și eficient, folosit pe scară largă în dezvoltarea logicii de jocuri și în dezvoltarea serverelor.
Transferat din: https://blog.csdn.net/ugly_man_/article/details/48577007
Atașat:
Test de comparație a performanței Lua și Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031
|