1

私は、Google プロトコル バッファと Apache thrift シリアライゼーション パッケージのベンチマークを担当する学生 (noob) です。

私の問題は、Apache Thrift では文字列にシリアル化するために 3 つの呼び出しが行われることです...しかし、Google プロトコル バッファでは 1 つの呼び出しのみが行われます。

3 つの apache thrift 呼び出しは、シリアル化する前にメモリをセットアップするためのものです。

Apache thrift が Google 呼び出しと同等になるように、これらのメモリ セットアップ関数をベンチマークに含める必要がありますか?

このようなベンチマークを行うためのガイド投稿やベスト プラクティスはありますか?

#apache thrift
person1 = Person()
person1.name = "person1"
person1.id = 1
person1.email = "test@test.com"
#three calls
transportOut = TTransport.TMemoryBuffer()
protocolOut = TBinaryProtocol.TBinaryProtocol(transportOut)
person1.write(protocolOut)



#google protocol
person1 = Person()
person1.name="person1"
person1.id=1
person1.email="test@test.com"
#one call
person1.SerializeToString()

前もって感謝します!

4

2 に答える 2

1

おそらく、より高いレベルのソリューションの一部としてベンチマークしようとしています。そのため、一部だけでなく、全体をベンチマークすることは、私には当然のことのように思えます。

PS: ところで、あなたの調査結果について学ぶことができれば幸いです。

于 2013-10-07T23:30:18.700 に答える