0

我不知道何时使用加载 .proto 文件(反射)的方法更好,何时使用 pbjs 脚本/工具生成静态代码更好。

带反射的方法:

protobuf.load("awesome.proto", function(err, root) {
   ...
});

使用静态代码的方法:

protobuf.load("bundle.json", function(err, root) {
    ...
});

根据protobuf.js Wiki,两种方法的性能是相同的。

有人可以向我解释哪种方法用于哪个目的?

我在互联网上搜索了很多,但无法得到这个问题的答案。从编码的角度来看,我并没有陷入困境,而是想弄清楚哪种方法更适合。

4

1 回答 1

0

关于性能的声明仅是关于(反)序列化函数的使用,而不是关于设置。从您链接的文档中:

.proto

  • 需要完整的库
  • 大量的网络请求和解析器开销

.json

  • 需要灯光
  • 生产环境推荐打包,提前解析

编译

  • 生成的静态代码,只使用最小的
  • 生成额外的,尽管是可编辑的,没有任何反射特性的源代码。
于 2017-05-31T19:03:12.800 回答