我该怎么提高Lua程序的性能?
2017-5-23 12:26:11
收藏:0
阅读:785
评论:4
我询问了关于Lua性能的问题,其中一个回答(https://stackoverflow.com/questions/124455/how-do-you-pre-size-an-array-in-lua#152894)提到:
你是否学习过保持Lua性能高的一般提示?比如知道表格创建并且更喜欢重用表格而不是创建新的,使用“local print=print”之类来避免全局访问。
这是一个略微不同的问题,与Lua Patterns,Tips and Tricks不同,因为我想要的答案会明确地影响性能,并且(如果可能)解释为什么会影响性能。
每个答案一个提示是理想的。
原文链接 https://stackoverflow.com/questions/154672
点赞
stackoverflow用户18403
- 将最常用的函数设置为局部变量
- 充分利用表格作为哈希集
- 通过重复利用来减少表格创建
- 使用 luajit!
2008-11-28 02:06:51
stackoverflow用户41661
如果你的 Lua 程序真的太慢了,使用 Lua 代码分析工具并清理代价高的内容,或者迁移到 C 语言。但如果你没有坐在那里等待,那么你的时间就浪费了。
优化的第一法则:不要优化。
我很想看到一个问题,您可以在 ipairs 和 pairs 之间进行选择,并且可以测量差异的影响。
最简单的低垂果实是记住在每个模块内使用本地变量。一般来说,除非你能找到一个告诉你不同的测量结果,否则不值得这样做:
local strfind = string.find
2008-11-28 21:15:21
stackoverflow用户88888888
需要指出的是,使用表格中的数组字段比使用任何类型的键的表格要快得多。这是因为(几乎)所有的Lua实现(包括LuaJ)在表格内部存储了一个名为“数组部分”的元素,它通过表格数组字段进行访问,不存储字段键,也不需要查找它;)
你甚至可以模仿其他语言的静态方面,例如struct
,C ++ / Javaclass
等。本地变量和数组就足够了。
2017-06-26 18:37:59
评论区的留言会收到邮件通知哦~
推荐文章
- 【上海普陀区】内向猫网络招募【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中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
- 如何创建一个 lua 脚本以针对特定键为 fluentbit 进行限流
- 如何在Lua中将变量从Lua推送到C ++
保持表格简短,表格越大搜索时间就越长。同一行中,对数字索引的表格(即数组)进行迭代比对基于键的表格更快(因此ipairs比pairs更快)。