为什么不是谷歌的协议缓冲区的lua实现?是否已经为lua提供了更好的解决方案?

时间:2010-01-20 02:40:23

标签: serialization lua protocol-buffers

为什么不是谷歌协议缓冲区的lua实现?对于lua来说,还有更好的解决方案吗?

3 个答案:

答案 0 :(得分:5)

我正在谈论它:https://github.com/haberman/upb/wiki

另外,我是上面编写100行解析器的人。但我的upb库更加全功能。

答案 1 :(得分:2)

可能是因为C或C ++实现会更快(并且更容易编写),然后您可以将数据移交给Lua以便在需要时使用。

这里有一个100行C协议缓冲区解析器:http://blog.reverberate.org/2008/07/12/100-lines-of-c-that-can-parse-any-protocol-buffer/

或者您可以使用Google C ++,然后从那里将数据移交给Lua。

Lua不是为了精简而构建的,所以也许这就是为什么没有人在其中实现协议缓冲。它甚至没有内置的按位运算符:http://lua-users.org/wiki/BitwiseOperators

答案 2 :(得分:2)

我刚刚创建了协议缓冲区lua-pb的Lua实现。它动态加载/解析.proto文件以创建消息对象,因此不依赖于Google的标准.proto编译器。

它使用LPeg来解析.proto文件和struct& Lua BitOp用于编码/解码。

相关问题