1
txx 2013-11-08 00:43:58 +08:00
3*3的矩阵 10秒.......开玩笑啊 时间复杂度也就N^2啊...
|
3
dndx 2013-11-08 04:57:56 +08:00 via iPhone
估计是使用方法不对吧,3 X 3 都要10秒,这比手算也快不到哪去了。
|
4
qiukun 2013-11-08 07:55:18 +08:00
编译时长?
|
5
forest520 2013-11-08 07:57:14 +08:00 via Android
clapack吧,这个最原始,编译最简单
|
9
xdeng 2013-11-08 09:45:57 +08:00
第一次 编译久 之后就不会了吧
|
10
Golevka 2013-11-08 09:46:25 +08:00 1
估计又是header only, template满天飞的东西所以编译慢. (据说一哥们用spirit写了个scheme解释器, build出来要半小时
|
12
ini 2013-11-08 10:12:30 +08:00 1
哥,如果include的template或者header很多,编译时长超过10秒很正常啊,之后再编译应该就快了啊。
你最主要的还是要看运行速度啊,如果运行速度没问题,那就OK了嘛。 |
14
skydiver 2013-11-08 10:19:43 +08:00
一直在用c++的形式来写c。。。这是什么意思。。能编译么。。
|
15
omengye OP @ini 比如
#include <iostream> #include <Eigen/Eigen> using namespace Eigen; using namespace std; int main() { Matrix3d a(3,3); a<< 1,0,0, 0,1,0, 0,0,1; cout << "a: " << endl << a << endl; cout << "eigenvalue: " <<endl<< a.eigenvalues() << endl; } 这个都能20s ...真是服了 |
18
ini 2013-11-08 10:51:12 +08:00
@omengye 我去,一不小心敲了XX,然后就莫名其妙地回复了。。
我刚看了一下这个lib,<Eigen/Eigen>里include了Dense,下面是Dense header里面的include: ``` #include "Core" #include "LU" #include "Cholesky" #include "QR" #include "SVD" #include "Geometry" #include "Eigenvalues" ``` 再随便打开Core这个header,里面又include了一大堆,以"src/Core/PlainObjectBase.h"为例,再打开这个header only的源文件,里面全是template,这能不慢么。。 表面看起来,只include了一个<Eigen/Eigen>,但这只是这个lib为了方便,做了一个统一的header,其实里面所有的内容都被包含了,所以,如果你要编译速度,你可以只include你需要的那个header,应该就会好很多了。 ---------------------------------- 另外,你说除了第一次以外,以后编译也很慢,你是只有一个main.cpp么? |
19
ini 2013-11-08 10:52:32 +08:00
发现V2EX不支持markdown嘛,看起来好像支持markdown的样子。。
|
22
Ricepig 2013-11-08 11:23:31 +08:00
所以build和clean后再build对C/C++来说,时间差异很大
|
23
weigetc 2013-11-08 12:28:49 +08:00
|
24
xiaket 2013-11-08 14:17:40 +08:00
Intel的Math Kernel Library, 这个省心, 常见的BLAS, LAPACK什么的都集成到里面了.
正确使用的话, 速度比MATLAB快应该是可以肯定的. |
25
bububut 2013-11-08 14:22:31 +08:00
目前在用这个
http://arma.sourceforge.net/ 一般人家说某某库速度快是指运行速度快吧,编译速度快这个要求倒是比较难考察 如果你是常常要改变矩阵值的话,直接写个读文件的程序,就不用每次都编译啦 为什么不直接拿matlab算呢 |
26
cdfmr 2013-11-08 15:48:00 +08:00
使用预编译头文件可以提高编译速度
|
30
ispinfx 2013-11-08 17:19:33 +08:00
别搞笑了。。毕业设计的时候自己写的求6W阶的特征值都都用不了几秒。
|
32
xiaket 2013-11-08 23:54:08 +08:00
@Ricepig 那就找来BLAS和LAPACK, 这两个是开源的. 需要自己折腾下, 不过折腾的成本也不高, 正常的话半天可以搞定.
|
34
omengye OP |