jzhang

2014-4-7 15:44:00

阅读(2432)

评论(2)

先把官方主页摆出来:

外链网址已屏蔽luajit.org/luajit.html

Lua JIT 1.0早就有了,但是性能一般,这次的2.0是重新编写的,优化效果有了质的飞跃。

下面这个表是作者的测试结果,其中Lua实现的MD5算法,经过JIT优化后,性能提升了152.7倍!

md5 152.7 | mandelbrot 13.4 | nsieve 4.7 |

array3d 101.5 | pidigits 12.4 | partialsums 4.1 |

array 73.5 | random 12.2 | chameneos 3.8 |

methcall 28.8 | nsievebits 12.0 | recursive 3.5 |

nsievebits 28.0 | nestedloop 11.9 | knucleotide 3.4 |

matrix 23.0 | lists 9.3 | binarytrees 2.7 |

spectralnorm 21.4 | cheapconcr 5.5 | meteor 2.0 |

fannkuch 20.9 | cheapconcw 5.4 | revcomp 1.8 |

nbody 14.8 | fasta 5.3 | sumfile 1.5 |

可见对纯计算的代码,JIT 2.0的优化效果最好,而涉及到文件的则不太明显。

JIT 2.0这么高的性能提升,会反过来让人质疑Lua本身的性能是不是太差了,下面这个表正好。

SciMark composite |

small score | FFT SOR MC SPARSE LU

----------------------------+---------------------------------------

GCC 4.3.2 906.1 | 739.1 909.0 190.4 1057.0 1635.1

JVM 1.6 Server 876.3 | 573.8 1185.5 297.7 579.2 1745.4

JVM 1.6 Client 579.6 | 424.8 895.8 122.8 595.5 859.0

----------------------------+---------------------------------------

LuaJIT 2.0.0-beta1 580.4 | 427.4 1025.0 223.7 303.4 922.5

LuaJIT 1.1.5 96.7 | 72.0 166.1 37.1 91.8 116.5

Lua 5.1.4 16.5 | 11.0 27.4 7.6 16.9 19.5

可以看到对傅立叶变化,Lua的性能是C的 1.5%,经过JIT 2.0优化后则是 58%。

所以Lua的确不快。

有消息说网易的网络游戏因为使用Lua,其单服务器负荷能力大大低于使用其他语言如LPC的游戏。

这只是传言,未经证实。从下面这个网站看,Lua又似乎是所有脚本语言中最快的。

外链网址已屏蔽shootout.alioth.debian.org/u32/benchmark.php

BenchMark这事,似乎不是太靠谱。

(SciMark是最初Java定义的测试语言在计算密集代码中性能如何的标准)

评论列表

路人2014-4-7 15:44:00

re: Lua JIT 2.0 发布了,一百五十倍的性能提升!

这主要是纯计算方面性能的提高, 实际的lua里面有多少是跑纯计算的

大部分的性能耗费更多在io上,

看介绍, 主要是使用汇编级的代码替换及高级指令, 脚本语言本身需要跨平台的伪码变换在纯计算方面性能损耗那当然是相当大, lua已经算很好了(这本来就是脚本语言最弱的地方), 而改成本地代码自然好很多, 但要综合平均起来, 提高的幅度很有限

不过如果是补充了在纯计算方面的弱势, 那么lua真的可以笑傲江湖了

jzhang2014-4-7 15:44:00

在服务器端跑的Lua脚本还是以计算为主的

以LPC为例,大部分的LPC脚本都用于处理游戏策略,战斗,统计,等等。真正的IO大部分都是MudOS用C提供的接口。所以LPC的代码经常需要用延迟调用,把一次计算拆分成多次来进行。

发表评论

您还没有登录,请[登录]或[注册]

lua jit java jit_Lua JIT 2.0 发布了,一百五十倍的性能提升!相关推荐

  1. MariaDB Java Client 1.1.0 发布

    MariaDB Java Client 1.1.0 发布了,该版本主要是修复数据源 metadata 相关的 bug,以及和 ConnectorJ 不兼容的地方,值得关注的有: 保存和 Connect ...

  2. AI算力霸主诞生!英伟达发布首款安培架构GPU,性能提升20倍

    来源:雷锋网 由于疫情缘故,本该在今年3月英伟达(NVIDIA)GTC 2020上发布的安培(Ampere)架构曝光多次却一直未发布. 5月15日,英伟达CEO黄仁勋发布了英伟达新一代GPU架构安培, ...

  3. java 开源sns_JEESNS V1.0发布,JAVA 开源 SNS 社交系统

    JEESNS V1.0 发布了,本次更新内容: 增加后台管理员授权与取消功能 增加私信模块 解决在微博页面,左侧微博点赞过后,左侧展示列表小手会变黑,但是右侧热门出小手依然是白色 修复后台添加栏目.文 ...

  4. 谷歌:明年开始对应用内购买抽取 30% 分成;钉钉创始人无招将离任;Java O2OA V5.2.0 发布|极客头条

    整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 扫描上方二维码,快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋 ...

  5. 世界地图20亿像素_高通骁龙690 5G平台发布,支持1.92亿像素性能提升20%

    [PConline 资讯]高通正式发布骁龙6905G移动平台,这是首款骁龙6系5G移动平台,旨在进一步推动全球5G体验的普及,并提供卓越的终端侧AI和畅爽的娱乐体验.计划将推出搭载骁龙690智能手机的 ...

  6. amh支持java吗_AMH 6.0 发布,国内领先的云主机面板

    AMH6.0新版本介绍 AMH6.0版本经过几个月稳定测试应用期,目前已经成功上线发布,正式对外开放使用. AMH新版本已经支持免费使用,与免绑定AMH账户使用, 不需账户AMH面板安装完成即可投入使 ...

  7. Java easycms 版本2.0发布

    为什么80%的码农都做不了架构师?>>>    精简js框架,删除不开源的ace ui 框架,改为更简洁,理论支持n级节点的层级菜单 默认使用嵌入式数据库h2 使用jetty作为se ...

  8. Android开发笔记(一百五十九)Android7.0的分屏模式

    现在的手机屏幕越来越大,使得在屏幕上同时开多个窗口不再奢侈,因此Android从7.0开始顺势推出了分屏功能,也被称作多窗口模式.比如把竖长的手机屏幕分成上下两个窗口,一边在上面的窗口中观看电影,一边 ...

  9. java swing对话框_Java开发笔记(一百三十五)Swing的文件对话框

    除了常规的提示对话框,还有一种对话框也很常见,它叫做文件对话框.文件对话框又分为两小类:打开文件的对话框.保存文件的对话框,但在Swing中它们都用类型JFileChooser来表达.下面是JFile ...

最新文章

  1. 分布式计算开源框架Hadoop入门实践
  2. JDBC:使用连接池管理连接
  3. 使用ExtJs创建新的UI控件(转)
  4. 贝叶斯定理与贝叶斯估计
  5. iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU近100%导致网站反应速度缓慢的解决方案...
  6. Java基础day13
  7. MyBatis 实际使用案例-总结
  8. python apscheduler执行_Python下定时任务框架APScheduler的使用
  9. 多线程 进度条 C# .net
  10. Minimum supported Gradle version is 4.1. Current version is 4.0.
  11. java gson 工具类_GSON 实体 转换工具类
  12. scp带密码后台传输
  13. python自定义排序规则_python自定义排序
  14. 台积电预计5nm芯片四季度出货量将超过15万片晶圆,9成供应苹果
  15. Unity开发《一起来捉妖》教程 | 2.用摄像头图像做背景
  16. php w 框架叫什么意思,框架是什么,为啥要用框架. 框架解决了什么
  17. 64. 雇员管理系统
  18. 用Word2003助你轻松阅读文档(转)
  19. 良田高拍仪集成WEB说明
  20. codeigniter mysql查询_codeigniter数据库操作函数汇总

热门文章

  1. 知乎热问:进入内核态究竟是什么意思?
  2. 打破“单点防护”缺陷,山石网科发布“云网端”XDR解决方案
  3. Java 最高均薪 19015 元! 8 月程序员工资出炉,你拖后腿了吗?
  4. 国内首款全国产固态硬盘控制芯片发布
  5. 360浏览器收藏夹_换了一台电脑,浏览器收藏的网站不见了,咋办?
  6. python缩进注意事项_python注意事项
  7. jmeter+mysql+set_jmeter学习指南之操作 mysql 数据库
  8. elasticsearch-7.15.2 集成pinyin分词器
  9. Jenkins 2.322 安装 自定义插件
  10. 关于JDK8采坑JCE加密限制版本问题