protobuf文件有很多子消息 - 一个大文件还是导入?

时间:2013-05-23 06:45:25

标签: protocol-buffers

我们最近开始在我工作的公司中使用protobuffers,我想知道关于将其他消息保存为字段的消息的最佳做法是什么。

将所有内容写入一个大的原型文件中是否常见?或者将不同的消息分离到不同的文件并在主文件中导入所需的消息更好?

例如:

选项1:

message A {

    message B {
        required int id = 1;
    }

    repeated B ids = 1;

}

选项2:

import B.proto;

message A {

   repeated B ids = 1;

}

在另一个文件中:

message B {

    required int id = 1;

}

1 个答案:

答案 0 :(得分:0)

这取决于您的数据集和使用情况。

如果你的数据集很小,你应该更喜欢选项1.它可以减少序列化和反序列化的编码。

如果您的数据集很大,您应该更喜欢选项2.如果文件太大,则无法将其完全加载到内存中。如果您只需要一个信息并且您已阅读该文件的所有信息,那么它将非常慢。

也许这很有用。