美文网首页
lua使用的一点建议

lua使用的一点建议

作者: Teech | 来源:发表于2020-03-20 22:15 被阅读0次
  • string 拼接大量字符串 少用默认连接符号
    当需要拼接大量字符串的时候,少用默认的字符串连接,如果大量字符串连接时,尽量用table,然后table.concat来连接字符串。这个做法用table作为一个缓冲区,一次性连接。而不是中间产生大量中间临时的字符串。因为每次新建一个字符串都会有哈希值计算,哈希查找,最后还需要gc这些消耗。
  • table 尽量预先填充
    因为如果不预先填充,每次都是插入,会经常会有rehash的情况发生,因为lua本身为了内存利用率保证可以到50%以上,插入会经常rehash发生,尤其表比较小的时候。
  • weak table 在同一个vm中不要大量使用弱表
    在propagate的最后一个阶段,会原子性的标记弱表链表的,这个过程会stop the world,这里潜在会引起卡顿,参考atomic函数,
  /* remark weak tables */
  g->gray = g->weak;
  g->weak = NULL;
  lua_assert(!iswhite(obj2gco(g->mainthread)));
  markobject(g, L);  /* mark running thread */
  markmt(g);  /* mark basic metatables (again) */
  propagateall(g);

相关文章

  • lua使用的一点建议

    string 拼接大量字符串 少用默认连接符号当需要拼接大量字符串的时候,少用默认的字符串连接,如果大量字符串连接...

  • lua使用优化建议

    1.使用局部变量local 这是最基础也是最有用的策略,虽然使用全局变量并不能完全避免,但还是应该尽量避免,取而代...

  • Lua 继承

    Aitin原创稿件,转载请注明出处!使用Lua 也很久了,这里写一点使用心得 Lua 继承的使用 主要用到的是 _...

  • lua脚本

    lua脚本 执行方法下载lua 打开cmd 或者命令界面 执行lua使用lua 文件

  • 在spring-data-redis中使用lua脚本

    参考 Lua 脚本Programming in Lua api 使用 RedisScript 使用 Redi...

  • Lua扩展

    lua作为配置文件使用 使用LUA API分析这个文件,并获取width和height table操作lua 5....

  • Lua与C#的交互实现

    lua与C#交互使用LuaInterface实现定义变量:1,Lua lua = new Lua() --定义一个...

  • 2017.5.25

    lua学习总结:数据结构: 使用Lua实现链表(单向链表和双向链表),队列 使用Lua保存图,用table保存,每...

  • C++调用lua方式

    目标 使用C++调用lua接口 示例 lua代码(test.lua) C++调用示例(lua_test.cpp) ...

  • lua中return提示'end' expected

    lua中return提示'end' expected 问题   最近在使用lua的时候发现, LUA是不能随便返回...

网友评论

      本文标题:lua使用的一点建议

      本文链接:https://www.haomeiwen.com/subject/rggsyhtx.html