Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 14194|Răspunde: 0

Punctele forte și slăbiciunile Lua și Luajit

[Copiază linkul]
Postat pe 27.04.2018 09:44:40 | | | |
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





Precedent:Vulnerabilitatea firewall-ului aplicațiilor WAF a Nginx Lua
Următor:Nginx adaugă module terțe, precum și module care sunt suportate nativ de NGINX
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com