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 和對應的協議名稱字符串 即可

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