还有IT ++,它具有易于使用的语法,类似于Matlab.Armadillo也有一个非常相似的语法,但已知比IT ++快得多.(Armadillo使用模板元编程,而IT ++则不然).Armadillo和IT ++都提供了特征分解,奇异值分解,矩阵逆等.相比之下,uBlas使用模板元编程来提高速度,但不能进行矩阵求逆等.
根据不同领域的不同功能集,例如,速度差异在折衷方面.IT ++有许多信号处理功能,而Armadillo几乎专注于线性代数.
这提出了一个相关的观点:库的速度只是其整体有用性或价值的一个因素.例如,您可能拥有一个非常快的库,但是学习其API /语法需要很长时间,或者语法很难使用.另一个问题是库中已存在的功能量 - 例如.你可能需要编写自己的函数.您可能还需要考虑库的目的是简化Matlab代码到C++的转换,或者您已经熟悉Matlab语法.
鉴于以上几点,您最终可能需要花费更多时间进行编码和调试,而不是运行代码,这最终会破坏快速库的目的.换句话说,原始执行速度只是一个因素,不应该依赖它作为整体决定因素.开发时间也是一个非常重要的因素(例如"产品生产时间"),不仅从成本的角度来看,而且编码花费的时间也减少了你做其他事情的时间.
| 归档时间: |
|
| 查看次数: |
7501 次 |
| 最近记录: |