Go中的基准测试协议缓冲区,JSON和XML

在我的文章《使用gRPC和协议缓冲区立即构建高性能API》中,我用协议缓冲区版本3作为有线格式在gRPC中编写了一个简单的API。 在这篇简短的文章中,我对封送和取消封送的协议缓冲区3,JSON和XML的性能进行了基准测试。

Herer是用Go语言编写的基准测试:

输出显示,协议封送在封送和拆组方面均优于JSON和XML。 结果显示以下数字:

  • 协议缓冲区元帅: 819 ns / op
  • 协议缓冲区解组: 1163 ns / op
  • JSON元帅: 3316 ns / op
  • JSON解组: 7196 ns / op
  • XML元帅: 9248 ns / op
  • XML解组: 30485 ns / op

简单的bechmark测试确实表明,当您使用gRPC构建可大规模扩展的API时,协议缓冲区是使用REST的JSON和XML的绝佳选择。

您可以通过@shijucv在Twitter上关注我。 我确实在印度提供有关Go编程语言(Golang)和分布式系统体系结构的培训和咨询。