现在我有一个应用程序,我的 iPhone 应用程序发送一个请求,该请求在 .NET/C# 中处理,序列化为 XML,并在 Objective-c 中的应用程序上解析。当前的响应类结构有一个基类(BaseResponse)和许多(超过 25 个)子类,每种类型的请求对应于需要返回的不同事物。现在我正在寻找 protobuf 是否会比 XML 更快、更容易。据我了解,此类结构的 .proto 文件是:
Message BaseResponse {
Required Int field1 = 1;
Optional SubResponse1 sub1= 2;
Optional SubResponse2 sub2 = 3;
Etc....
}
Message SubResponse1 {
....
}
Message SubResponse2 {
....
}
Etc for each sub response.
我的问题是:如果我有超过 25 个这些可选元素(其中只有 1 个是非空的),这是否完全消除了使用 protobuf 的大小和性能优势?protobuf 对这个应用程序有意义吗?