文件名称:kiwi:基于模式的二进制格式,用于有效地编码数据树
文件大小:119KB
文件格式:ZIP
更新时间:2024-06-06 00:44:02
C++
猕猴桃消息格式 Kiwi是一种基于模式的二进制格式,用于有效地编码数据树。 它的灵感来自Google的格式,但更简单,编码更紧凑,并且对可选字段的支持更好。 目标: 常用值的有效编码:可变长度编码用于数字值,其中较小的值占用较少的空间。 复合对象的有效编码: struct功能支持嵌套对象,且编码开销为零。 可选字段的存在是可检测到的:对于协议缓冲区,这是不可能的,尤其是对于重复字段。 线性可序列化:读取和写入都是单扫描操作,因此它们具有高速缓存效率并保证了时间复杂度。 向后兼容性:新版本的架构仍可以读取旧数据。 前向兼容性:如果新模式的副本与数据捆绑在一起,则旧版本的模式可以选择读取新数据(新模式可让解码器跳过未知字段)。 实现简单: API非常少,生成的C ++代码仅取决于单个文件。 非目标: 最佳位打包:编码后可以使用压缩,以在需要时节省更多空间。 本机类型 boo
【文件预览】:
kiwi-master
----typedarray.sk(7KB)
----kiwi.h(14KB)
----rust()
--------Cargo.lock(143B)
--------src()
--------Cargo.toml(278B)
----www()
--------index.html(4KB)
----test()
--------test2-schema.sk(7KB)
--------test-schema.kiwi(2KB)
--------test.cpp(21KB)
--------test-schema-callback.h(50KB)
--------test.js(10KB)
--------test-schema.sk(59KB)
--------test-schema.js(33KB)
--------test-schema.ts(7KB)
--------test-schema-round-trip.kiwi(2KB)
--------test-schema-types.sk(16KB)
--------test.sh(2KB)
--------test-callback.cpp(2KB)
--------test1-schema.bkiwi(40B)
--------test-schema-large.kiwi(3KB)
--------test.sk(17KB)
--------test-schema-large.h(142KB)
--------test-schema-large.sk(90KB)
--------test-schema.h(72KB)
--------test2-schema.kiwi(252B)
--------test1-schema.kiwi(106B)
--------test2-schema.bkiwi(96B)
--------test1-schema.h(4KB)
--------test2-schema.h(9KB)
--------test1-schema.sk(3KB)
----kiwi.sk(8KB)
----js()
--------skew-types.ts(3KB)
--------printer.ts(992B)
--------package.json(834B)
--------cpp-callback.ts(12KB)
--------kiwi.ts(562B)
--------schema.ts(433B)
--------binary.ts(3KB)
--------js.ts(8KB)
--------package-lock.json(37KB)
--------browser.ts(200B)
--------tsconfig.browser.json(91B)
--------tsconfig.json(96B)
--------cpp.ts(17KB)
--------ts.ts(3KB)
--------cli.ts(6KB)
--------parser.ts(7KB)
--------bb.ts(6KB)
--------kiwi.d.ts(562B)
--------skew.ts(14KB)
--------util.ts(267B)
----examples()
--------skew.md(3KB)
--------rust.md(1KB)
--------cpp.md(3KB)
--------js.md(2KB)
----LICENSE.md(1KB)
----.gitignore(59B)
----README.md(3KB)