- 授权协议: MIT
- 开发语言: Python
- 操作系统: 跨平台
- 软件首页: https://github.com/yihuang/cprotobuf
- 软件文档: https://github.com/yihuang/cprotobuf
软件介绍
cprotobuf 是用 Cython 实现的 Protocol Buffer 协议。
性能测试结果:
$ ./setup.py build_ext --inplace $ cd benchmark $ ./bench.sh encode[google official pure python]: 10 loops, best of 3: 68.8 msec per loop encode[google official cpp python]: 100 loops, best of 3: 19.4 msec per loop encode[py-protobuf][cprotobuf]: 100 loops, best of 3: 3.58 msec per loop decode[google official pure python]: 10 loops, best of 3: 47.5 msec per loop decode[google official cpp python]: 100 loops, best of 3: 4.55 msec per loop decode[py-protobuf][cprotobuf]: 100 loops, best of 3: 3.98 msec per loop
示例代码:
# coding: utf-8
from cprotobuf import ProtoEntity, Field
# file: person.proto
class Person(ProtoEntity):
id = Field('int32', 1)
name = Field('string', 2)
email = Field('string', 3, required=False)
# file: people.proto
class People(ProtoEntity):
people = Field(Person, 1, repeated=True)
