Nat*_*lan 7 .net performance matlab
我有一个用Matlab编写的大型仿真套件,但是由于担心与其他内部项目的更好接口(以及执行速度),我正在考虑将一些功能转移到.NET并从Matlab中调用这些对象.什么是与调用.NET对象相关的开销内 Matlab的?
这里是关于Matlab OO的一个很好的讨论,它没有谈论.NET
编辑:简要研究
我在Matlab中自行运行了一个快速测试,在不同对象中进行简单访问和赋值操作,包括正式的Matlab对象(R2011b),Java和.NET每次调用1,000,000次.方法调用是指内部循环,属性/字段调用是指从Matlab访问公共字段并在Matlab中循环.最后的结果让我感到困惑,因为.NET的开销远高于Java,但实际运行时间约为一半.到底是怎么回事?
Access(s) Assign(s) Type of object/call
--- MATLAB ---
0.003361 0.004268 'myObj.field'
0.003403 0.004263 'myStruct.field'
0.003376 0.003392 'myVar'
0.152629 0.303579 'myHandleObj.field'
25.79159 - 'TestConstant.const'
0.003384 - 'myTestConstant.const' (instance)
0.006794 0.008689 'TestObj.methods'
0.157509 0.303357 'TestHandleObj.methods'
--- NON-MATLAB ---
10.70006 16.42527 'JavaObj fields'
0.005063 0.005441 'JavaObj methods'
43.49988 43.96159 'NetObj fields'
0.002194 0.002306 'NetObj methods'