C++下LuaPB协议升级

使用Lua Table 解码 编码 PB协议,效率比较低,主要是因为需要lua内部字符串比较 和 跨lua和c之间的 Int解码操作,比较消耗

如果从C++部分,直接访问lua虚拟机内部的 Table数据结构,以及使用lua字符串自带的hash值,来做比较,效率会有比较大提升

例如原始需要5000ms 处理编码一个Lua table 为PB, 在纯C++访问luaTable和字符串hash 下,可能只需要300ms左右

但是C++序列化协议,导致协议很难热升级,可以单独将自动生成的协议相关处理代码做成dll, 主程序只需要从dll 中获得一个函数接口

即Pack (luaState) lua栈顶, 压入luaTable 和对应的协议名称字符串 即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章