序列化格式变天了!
性能测试显示,这个你可能从未听说过的序列化格式FastBinaryEncoding竟然比Protobuf快10倍!
让我们一起来看看这个低调但强大的序列化神器。
强悍性能:碾压一切对手
FastBinaryEncoding(简称FBE)的性能数据令人震惊:
序列化时间仅为66纳秒,而Protobuf需要628纳秒
反序列化时间仅为82纳秒,比Protobuf的759纳秒快了近10倍
即便是广受欢迎的Cap'n Proto也被甩在身后
这些数据不是空口白话,而是经过严格测试的结果。
为何如此之快?
FBE采用了两个关键技术:
固定长度编码:避免了动态计算的开销
内存映射:直接操作内存,进一步提升性能
不过,这种高性能是有代价的 —— 它会打破向后兼容性。这就像一把双刃剑,在追求极致性能的同时也需要权衡使用场景。
实际应用
FBE已经在高频交易等对性能要求极高的场景中得到应用。这不奇怪,因为在金融交易领域,微秒级的延迟都可能带来巨大的差异。
目前,FBE支持多种主流编程语言:
C++
C#
Go
Java
JavaScript
Python
Ruby
Swift
等。每种语言都有完整的示例项目,开发者可以直接上手使用。
性能对比
让我们直观地看一下各个序列化方案的性能对比:
协议 | 消息大小 | 序列化时间 | 反序列化时间 |
---|---|---|---|
FBE | 234字节 | 66纳秒 | 82纳秒 |
Protobuf | 120字节 | 628纳秒 | 759纳秒 |
JSON | 301字节 | 740纳秒 | 500纳秒 |
数据清晰地显示,FBE在序列化和反序列化速度上都遥遥领先。
值得注意的是,虽然Protobuf的消息体积最小(120字节),但FBE的234字节也远优于JSON的301字节。
项目已在GitHub开源:
https://github.com/chronoxor/FastBinaryEncoding
如果你的项目对性能有极致追求,不妨试试这个「序列化界的超跑」。
👇
👇
👇
👇
本文同步自知识星球《AGI Hunt》
星球实时采集和监控推特、油管、discord、电报等平台的热点AI 内容,并基于数个资讯处理的 AI agent 挑选、审核、翻译、总结到星球中。
每天约监控6000 条消息,可节省约800+ 小时的阅读成本;
每天挖掘出10+ 热门的/新的 github 开源 AI 项目;
每天转译、点评 10+ 热门 arxiv AI 前沿论文。
星球非免费。定价99元/年,0.27元/天。(每+100人,+20元。元老福利~)
一是运行有成本,我希望它能自我闭环,这样才能长期稳定运转;
二是对人的挑选,鱼龙混杂不是我想要的,希望找到关注和热爱 AI 的人。
欢迎你的加入!