一、什么是lua&luaJit
lua(www.lua.org)其实就是为了嵌入其它应用程序而开发的一个脚本语言,luajit(www.luajit.org)是lua的一个Just-In-Time也就是运行时编译器,也可以说是lua的一个高效版。
二、优势
1)lua是一个免费、小巧、简单、强大、高效、轻量级的嵌入式的脚本语言,lua当前的发行版本5.3.1只有276k。
2)它是用C语言开发的项目,所以可以在大部分的操作系统上运行
3)lua是目前速度最快的脚本语言,既可以提升语言的灵活性还可以最大限度的保留速度
4)其语法非常简单,没有特例
5)lua还可以作为C的API来使用
三、不足和不同
1)lua没有强大的库,所以很多功能实现起来没有python、perl、ruby等脚本语言简洁
2)lua的异常处理功能饱受争议,虽然其提供了pcall和xpcall的异常处理函数
3)lua原生语言中没有提供对unicode编码的支持,虽然可以通过一些折中的办法实现 http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html
4)没有提供在C++中应用很广泛的a?b:c的三元运算符操作
5)没有switch...case...语法,只能通过if..elseif..elseif..else..end的方式折中实现
6)在循环时没有提供continue语法
7)没有C++中应用广泛的a++和a+=1等操作
8)lua的索引是从1开始的,而不是我们熟悉的0(string,table)
9)当你给一个元素赋值为nil时相当于这个元素不存在
10)lua的数值类型只有number是没有int,float,double等之分的
11)lua中没有类的概念,其类是通过table的形式来实现的
12)lua中只有nil和false是表示假的,零在lua中是为真的
13)很多程序需要()标示才能运行,比如a={["b"]=5},print(a.b)是可运行的,但是 {["b"]=5}.b就会报错,需要({["b"]=5}).b才可以
四、综述
综上,lua是一个简单,高效所以在游戏逻辑开发和服务器开发中(ngx_lua)得到广泛的应用。

Lua和Luajit的优势和不足(1)相关推荐

  1. Lua和Luajit

    一.什么是lua&luaJit lua(www.lua.org)其实就是为了嵌入其它应用程序而开发的一个脚本语言, luajit(www.luajit.org)是lua的一个Just-In-T ...

  2. luajit集成篇/平台相关篇 | 合理用好lua+unity,更省性能的方案整理

    luajit集成篇 大家都知道luajit比原生lua快,快在jit这三个字上. 但实际情况是,luajit的行为十分复杂.尤其jit并不是一个简单的把代码翻译成机器码的机制,背后有很多会影响性能的因 ...

  3. 用好Lua+Unity,让性能飞起来—LuaJIT性能坑详解

    原文链接:https://blog.uwa4d.com/archives/usparkle_luajit.html 导语:大家都知道LuaJIT比原生Lua快,快在JIT这三个字上.但实际情况是,Lu ...

  4. LuaJIT分支和标准Lua有什么不同?

    这节课,我们来学习下 OpenResty 的另一块基石:LuaJIT.今天主要的篇幅,我会留给 Lua 和 LuaJIT 中重要和鲜为人知的一些知识点.而更多 Lua 语言的基础知识,你可以通过搜索引 ...

  5. 理解 Lua 的那些坑爹特性

    Lua 那些坑爹的特性 来源 https://blog.lilydjwg.me/2012/12/29/lua-caveats.36879.html 协程只能在 Lua 代码中使用 协程(corouti ...

  6. 腾讯开源手游热更新方案,Unity3D下的Lua编程

    写在前面 \\ xLua是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能.易用性.扩展性而广受好评.现在,腾讯已经将xLua开源到GitHub. ...

  7. luajit官方性能优化指南和注解

    luajit是目前最快的脚本语言之一,不过深入使用就很快会发现,要把这个语言用到像宣称那样高性能,并不是那么容易.实际使用的时候往往会发现,刚开始写的一些小test case性能非常好,经常毫秒级就算 ...

  8. luajit开发文档wiki中文版(四) LuaJIT 内部结构

    2022年6月10日15:15:22 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...

  9. luajit开发文档中文版(一)下载和安装

    2022年6月10日15:32:51 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...

最新文章

  1. 随笔 | 抢红包不是一件小事
  2. ASP.NET Core结合Nacos来完成配置管理和服务发现
  3. 在Mac OS环境下安装MySQL服务
  4. 【JLOI2013】地形生成
  5. android 播放声音 停止其他,Android AudioManager处理两个播放器同时有声音,停止其中一个播放的问题,暂停其他的播放...
  6. 第十八期:专家认为对“人工智能+教育”应持审慎态度
  7. 将一个数组拼接成一个指定字符串返回
  8. zabbix监控pppoe线路_Zabbix 完整的监控流程
  9. LAMP之apache调优
  10. 规划资源管理常用表格
  11. 什么是数据库?数据库有什么作用?
  12. 计算机读光盘出现乱码,解决刻录音乐光盘mp3出现中文乱码的方法
  13. 美团/饿了么外卖CPS联盟返利公众号小程序核心源码代码
  14. 18.导数的几何意义
  15. Ubuntu Qt无法使用搜狗输入法
  16. Maven - 6、生命周期和插件详解
  17. 2-9 彩虹瓶 (20 分)
  18. Python 63个内置函数超级详解!这63个必会!
  19. Zano:迷你无人飞行摄影机
  20. ElasticsearchJDK版本要求

热门文章

  1. 如何将APE及FLAC格式文件刻录成CD
  2. 让Windows XP用上Windows 7的任务栏
  3. macbook os 10.15.1中没有“任何来源”如何访问app?
  4. 激活工银亚洲账号(收到开通成功通知短信以后,汇款到“港元储蓄”子账号)
  5. About Google
  6. 自然语言理解(NLU)相关微信小程序大全
  7. 小微企业适合用什么样的进销存软件?
  8. 移动互联网Pinterest战役打响 鲜淘铺推摇一摇功能
  9. 轻量级Kubernetes之k3s:16:源码编译k3s
  10. 一个硬件创业者的自述:我这20年