C++ Protobuf中的ParseFromArray和ParseFromString之间有什么区别?

C++ Protobuf中的ParseFromArray和ParseFromString之间有什么区别?,c++,performance,protocol-buffers,C++,Performance,Protocol Buffers,我将对protobuf格式的大量数据(字符串等)进行反序列化,我可以使用ParseFromArray和ParseFromString进行反序列化。这两者有什么区别? 一个在性能上比另一个好吗?在功能上没有区别 如果您的数据已保存在std::string中,则您可以使用任一函数。但是,如果数据保存在数组或std::vector或其他容器中,则可以使用ParseFromArray避免创建临时字符串对象。谢谢。因此,对于相同的数据,如果我将其保存为vector和ParseFromArray,它将通过避

我将对protobuf格式的大量数据(字符串等)进行反序列化,我可以使用ParseFromArray和ParseFromString进行反序列化。这两者有什么区别?
一个在性能上比另一个好吗?

在功能上没有区别


如果您的数据已保存在
std::string
中,则您可以使用任一函数。但是,如果数据保存在数组或
std::vector
或其他容器中,则可以使用
ParseFromArray
避免创建临时字符串对象。

谢谢。因此,对于相同的数据,如果我将其保存为
vector
ParseFromArray
,它将通过避免临时字符串对象而获得比
string+ParseFromString
更好的性能。我说的对吗?不完全对。如果将其另存为
vector
,则应使用
ParseFromArray
避免临时对象。但是,如果将其另存为
string
,则可以调用
ParseFromArray
ParseFromString
,您将获得与
vector
+
ParseFromArray
相同的性能。