Lua挑战:你能提高fannkuch实现的性能吗?
2009-2-20 16:38:18
收藏:0
 阅读:719
 评论:1
Lua目前是最快的脚本语言,对于某些程序它不比C/C++慢太多(在pidgits 1:1时它们基本相当),但是在一些与C/C++的基准测试中Lua得分很低。
其中之一就是fannkuch测试(对数组进行索引访问),在这个基准测试中它得分可怕的1:148。
那么如何进行优化呢(当然,与任何优化一样,您必须测量您的实现以确保它更快)?而且您不能改变Lua的C内核或使用LuaJit,它是关于寻找优化Lua的一个弱点的方式。
点赞
 
                评论区的留言会收到邮件通知哦~
            
  
                推荐文章
            
 - 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
 - 如何在roblox studio中1:1导入真实世界的地形?
 - 求解,lua_resume的第二次调用继续执行协程问题。
 - 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
 - SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
 - Lua实现网站后台开发
 - LUA错误显式返回,社区常见的规约是怎么样的
 - lua5.3下载库失败
 - 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
 - lua lanes多线程使用
 - 一个kv数据库
 - openresty 有没有比较轻量的 docker 镜像
 - 想问一下,有大佬用过luacurl吗
 - 在Lua执行过程中使用Load函数出现问题
 - 为什么 neovim 里没有显示一些特殊字符?
 - Lua比较两个表的值(不考虑键的顺序)
 - 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
 - 如何在 Visual Studio 2022 中运行 Lua 代码?
 - addEventListener 返回 nil Lua
 - Lua中获取用户配置主目录的跨平台方法
 
当您引用基准测试结果时,请展示数据来源以供读者参考。
在这种情况下,您似乎使用的是在四核机器上测得的数字,其中最快的程序已被重新编写以利用多个核心。如果您查看 CPU 时间而不是流逝时间,您将看到比例降至 1:43(请查看 http://shootout.alioth.debian.org/u32q/benchmark.php?test=fannkuch&lang=all&sort=fullcpu)。
或者查看中位数和四分位数,以更好地了解 C++ 测试结果与 Lua 测试结果之间的比较。
还有一整套使用单个核心的程序测试结果——Lua 与 C++ 的比较——如果您查看这些 Lua
pi-digits程序,您将看到它们使用的是 C 语言 GNU GMP 库。