FastBinaryEncoding——序列化格式王者来袭:秒杀JSON和Protobuf,性能提升10倍!

旅行   2024-11-25 07:00   北京  

序列化格式变天了!

性能测试显示,这个你可能从未听说过的序列化格式FastBinaryEncoding竟然比Protobuf快10倍

让我们一起来看看这个低调但强大的序列化神器。

强悍性能:碾压一切对手

FastBinaryEncoding(简称FBE)的性能数据令人震惊:

  • 序列化时间仅为66纳秒,而Protobuf需要628纳秒

  • 反序列化时间仅为82纳秒,比Protobuf的759纳秒快了近10倍

  • 即便是广受欢迎的Cap'n Proto也被甩在身后

这些数据不是空口白话,而是经过严格测试的结果。

为何如此之快?

FBE采用了两个关键技术:

  1. 固定长度编码:避免了动态计算的开销

  2. 内存映射:直接操作内存,进一步提升性能

不过,这种高性能是有代价的 —— 它会打破向后兼容性。这就像一把双刃剑,在追求极致性能的同时也需要权衡使用场景。

实际应用

FBE已经在高频交易等对性能要求极高的场景中得到应用。这不奇怪,因为在金融交易领域,微秒级的延迟都可能带来巨大的差异。

目前,FBE支持多种主流编程语言:

  • C++

  • C#

  • Go

  • Java

  • JavaScript

  • Python

  • Ruby

  • Swift

等。每种语言都有完整的示例项目,开发者可以直接上手使用。

性能对比

让我们直观地看一下各个序列化方案的性能对比:

协议消息大小序列化时间反序列化时间
FBE234字节66纳秒82纳秒
Protobuf120字节628纳秒759纳秒
JSON301字节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 的人。

欢迎你的加入!

AGI Hunt
关注AGI 的沿途风景!
 最新文章