Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14194|Odpověď: 0

Silné a slabé stránky Lua a Luajita

[Kopírovat odkaz]
Zveřejněno 27.04.2018 9:44:40 | | | |
1. Co je lua&luaJit?



lua(www.lua.org)Ve skutečnosti jde o skriptovací jazyk vyvinutý pro začleňování dalších aplikací
luajit(www.luajit.org)Jedná se o just-in-time runtime kompilátor Lua a lze také říci, že jde o efektivní verzi Lua.

2. Výhody

1) Lua je bezplatný, malý, jednoduchý, výkonný, efektivní a lehký vkládaný skriptovací jazyk a aktuální distribuční verze 5.3.1 Lua má pouze 276 tisíc.
2) Je to projekt vyvinutý v jazyku C, takže může běžet na většině operačních systémů
3) Lua je v současnosti nejrychlejší skriptovací jazyk, což může zlepšit flexibilitu jazyka a maximalizovat rychlost zapamatování
4) Jeho syntaxe je velmi jednoduchá, nejsou žádné výjimky
5) lua může být také použita jako API pro C

3. Nedostatky a rozdíly

1) Lua nemá výkonnou knihovnu, takže mnoho funkcí je implementováno bez stručných skriptovacích jazyků jako python, perl a ruby
2) Funkce zpracování výjimek v Lua je kontroverzní, i když poskytuje funkce pro zpracování výjimek pro pcland a xpcall
3) Podpora kódování Unicode není v nativním jazyce LUA poskytována, i když http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html lze dosáhnout určitými kompromisy
4) Neposkytuje ternární operátorové operace pro a?b:c, které jsou široce používány v C++
5) Žádný spínač... případ... syntaxe, kterou lze provést pouze pokud: Jinak... Jinak... Jinak... Metoda END
6) Syntaxe pokračování není při smyčce poskytována
7) Neexistují operace jako a++ a a+=1, které jsou v C++ široce používány
8) Luaův index začíná na 1, ne na známé 0 (řetězec, tabulka)
9) Když přiřadíte prvek k nul, znamená to, že tento prvek neexistuje
10) Číselný typ lua je pouze číslo a není rozdíl mezi int, float, double atd
11) V lua neexistuje koncept tříd a jejich třídy jsou implementovány ve formě tabulek
12) Pouze nul a false v lua jsou nepravdivé a nula je pravdivé v lua
13) Mnoho programů musí být označeno (), aby mohly běžet, například a={["b"]=5}, print(a.b) lze spustit, ale {["b"]=5}.b hlásí chybu a ({["b"]=5}).b je vyžadováno

4. Přehled

Shrnuto, LUA je jednoduchý a efektivní ngx_lua široce používaný ve vývoji herní logiky a vývoji serverů.

Převedeno z: https://blog.csdn.net/ugly_man_/article/details/48577007

Přikládané:

Porovnávací test výkonu Lua a Luajit: https://blog.csdn.net/alexwoo0501/article/details/50618031





Předchozí:Zranitelnost firewallu WAF aplikací Nginx Lua
Další:NGINX přidává moduly třetích stran a zároveň umožňuje moduly, které jsou nativně podporované NGINX
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com