将Google协议缓冲区(protobuf)与Matlab结合使用的最佳方式

Best way to use Google protocol buffer(protobuf) with Matlab

本文关键字:结合 方式 最佳 Matlab 协议 Google 缓冲区 protobuf      更新时间:2023-10-16

我正在尝试在Matlab中导入一些protobuf二进制文件。我看到两种方法来做

1) 使用protobuf Matlab插件

2) 使用谷歌提供的C++API,然后使用mex文件将数据导入matlab。

由于我使用的是大规模数据,哪一个运行得更快?

更快地运行很可能是这两者中的C++。

我可以肯定地告诉你,字节、两字节、四字节读取或缓冲区访问的Matlab语言级别运行速度比你预期的要慢得多。

在protobuf matlab/sourcebrowse/protobuflib中,我看到在matlab代码中完成了大量这种类型的操作。

你没有列出我认为两全其美的东西:Java API。

如果您的项目中有任何Java代码,或者对Java有一定程度的熟悉,我强烈考虑使用Java API。Matlab与Java有很好的互操作性;它的最大优势是,您可以使用methodsview()等交互式地处理示例。与使用更原生的语法相比,使用javaObject()/javaMethod()有一些学习曲线。