又一个类似于 Google Protocol Buffers 的协议库,但简单且快速。
简介 ===== Sproto 是一个用于 C 语言的高效序列化库,专注于 lua 绑定。它类似于 Google 的协议缓冲区,但速度要快得多。 设计很简单。它只支持 lua 支持的几种类型。它可以很容易地绑定到其他动态语言,或者直接在 C 中使用。 在我的 i5-2500 @3.3GHz CPU 上,基准测试如下: sproto 中的模式:
| 库 | 编码 1M 次 | 解码 1M 次 | 大小 |
|---|---|---|---|
| sproto | 2.15 秒 | 7.84 秒 | 83 字节 |
| sproto (nopack) | 1.58 秒 | 6.93 秒 | 130 字节 |
| pbc-lua | 6.94 秒 | 16.9 秒 | 69 字节 |
| lua-cjson | 4.92 秒 | 8.30 秒 | 183 字节 |
local parser = require "sprotoparser"parser.parse 将 sproto 方案解析为二进制字符串。
解析器用于解析 sproto 方案。您可以使用它在离线环境中生成二进制字符串。在程序运行时,不需要方案文本和解析器。lua local sproto = require "sproto" local sprotocore = require
暂无开放 Issues,或尚未同步最近议题。