找回密码
 立即注册
楼主: fwalker

lua-protobuf 使用说明

[复制链接]
发表于 2021-11-15 14:32 | 显示全部楼层
pbc只会解析一层,单层的情况下是我的快,多层的情况下我返回的是普通表,使用起来比pbc的代理表简单
发表于 2021-11-15 14:37 | 显示全部楼层
?为啥有人踩你的评论……我觉得你说的很对嘛~
发表于 2021-11-15 14:38 | 显示全部楼层
pbc是解析多层吧?我昨天测试就嵌套了一层
发表于 2021-11-15 14:39 | 显示全部楼层
是单层的,然后用元表在你访问的时候才继续解析。我之前的测试是比pbc快的……有时间我再测一下~
发表于 2021-11-15 14:48 | 显示全部楼层
你要使用GitHub上面最新的版本,以前有一个c+lua的老版,在Lua中解析,这个是很慢。最新的是直接调用pbc的代码实现解析,是快很多的
发表于 2021-11-15 14:50 | 显示全部楼层
一组测试数据,pb是你的库,集成到cocos2d项目中测试的,使用相同数据:
[LUA-print] data length        152
[LUA-print] protobuf count        1000000        encode cost        2.541075
[LUA-print] protobuf count        1000000        decode cost        2.506227
[LUA-print] data length        152
[LUA-print] pb count        1000000        encode cost        2.971078
[LUA-print] pb count        1000000        decode cost        3.700251
[LUA-print] data length        142
[LUA-print] eproto count        1000000        encode cost        1.453634
[LUA-print] eproto count        1000000        decode cost        2.033123
发表于 2021-11-15 14:56 | 显示全部楼层
好的,有时间我做个profile优化下~
发表于 2021-11-15 14:58 | 显示全部楼层
不太清楚如果message里有oneof关键字,lua里这个协议对象该怎么写?,encode的时候老是报错……
发表于 2021-11-15 14:59 | 显示全部楼层
[LuaPbIntf](https://github.com/jinq0123/LuaPbIntf)支持proto3, oneof, map都支持。
发表于 2021-11-15 15:04 | 显示全部楼层
好东西,我去看看
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-25 05:30 , Processed in 0.065882 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表