将Google协议缓冲区(protobuf)与Matlab结合使用的最佳方式
Best way to use Google protocol buffer(protobuf) with Matlab
我正在尝试在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()有一些学习曲线。
相关文章:
- 多态性和功能结合
- 如何在c++中为模板函数实例创建快捷方式
- 在c代码之间共享数据的最佳方式
- 在C++中将函数压缩为两种方式
- 以螺旋方式打印矩阵的程序.(工作不好)
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 创建引用向量的优雅方式
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 使用QQuickFramebufferObject时同步数据的最佳方式是什么
- 不同/较旧的处理器运行c++代码的方式是否不同
- 从嵌套在std::映射中的std::列表中删除元素的最佳方式
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 重载方法的方式会在使用临时调用时生成编译器错误
- 在reactor中存储eventHandlers的最佳方式是什么
- 如何以优化的方式同时迭代两个间距不相等的数组
- 以线程安全的方式调用"QQuickPaintedItem::updateImage(const QImage&image)"(no QThread)
- 为什么C++有不同的变量初始化方式?
- 在AVX通道中混洗的最佳方式
- 将 Vulkan 与 SFML 结合使用?
- 将Google协议缓冲区(protobuf)与Matlab结合使用的最佳方式