• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Lua性能优化技巧(六):最后的提示
    POST TIME:2021-10-18 16:54

    正如我们在前言里所说,优化是一个技巧性很强的工作,从程序是否需要优化开始,有若干个方面的内容需要考量。如果程序真的有性能问题,那么我们应该将精力集中于优化哪里和如何优化。

    我们在这里讨论的技巧既不是唯一的,也不是最重要的方面。我们在这里专注于讨论专门针对Lua的优化方式,因为有很多其他的方式可以了解通用的程序优化技巧。

    在本文结束之前,我还想介绍两种从更大的尺度上优化Lua程序性能的方式,但是它们都牵涉到Lua代码之外的修改。第一个是使用LuaJIT[1],一个Lua的即时编译器,由Mike Pall开发。他所作的工作非常卓越,而且LuaJIT可能是所有动态语言里最快的JIT了。使用它的代价是它只能在x86架构上运行,而且你需要一个非标准的Lua解释器(LuaJIT)来运行你的程序。所获得的好处是你可以在不修改代码的情况下让程序的运行速度提高到原先的5倍。第二个方式是将部分代码移到C中实现。这一条的重点在于为C代码选择合适的粒度。一方面,如果你把一些非常简单的函数移动到C里,Lua和C之间的通讯开销会抵消使用C编写函数带来的性能优势;另一方面,如果你把太大的函数移到C里,你又失去了Lua所提供的灵活性。最后,还要注意的是这两种方式有时候是不兼容的。你把越多的代码移到C里,LuaJIT所能带来的优化就越少。

    [1]  JIT即Just-in-time,在这里指即时编译器。

    您可能感兴趣的文章:
    • Lua性能优化技巧(一):前言
    • Lua性能优化技巧(二):基本事实
    • Lua性能优化技巧(三):关于表
    • Lua性能优化技巧(四):关于字符串
    • Lua性能优化技巧(五):削减、重用和回收
    上一篇:Lua性能优化技巧(五):削减、重用和回收
    下一篇:Lua中获取utf8字符串长度的方法和自定义函数
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信