1

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

将所有内容都写在一个大的 proto 文件中是常见的做法,还是将不同的消息分隔到不同的文件并将所需的消息导入主文件中更好?

例如:

选项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;

}
4

1 回答 1

0

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

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

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

也许这很有帮助。

于 2013-06-01T13:24:11.913 回答