犰狳元素明智的乘法速度
Armadillo element wise multiplication speed
armadillo的元素智能乘法(%)速度是否取决于是否安装了LAPACK/BLAS ?我目前运行犰狳没有安装他们和速度是可怕的。下面是最简单的代码,计算
需要很长时间 #include <iostream>
#include "conio.h"
#include "armadillo"
using namespace arma;
using namespace std;
int main(int argc, char** argv)
{
int n=250;
mat X=ones(n,n);
mat quan;
for (int xi=1;xi<=256;xi++)
{
quan = exp(X)%exp(X);
}
getch();
return 0;
}
确保在编译器设置中启用了优化标志(例如:在GCC或Clang中,使用-O2或-O3)。Armadillo使用模板元编程,像任何c++模板库一样,这绝对需要在编译器中启用优化才能有效。例如,这也适用于Boost.
为什么要计算两次exp(X)
?你没有对元素乘法进行基准测试;你显然是在测试exp()
。另外,为什么不使用expmat()
或expmat_sym()
呢?
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 为什么 std::set 遍历所有元素的速度较慢?
- 迭代速度和元素大小
- 访问std::vector元素的速度会随着向量大小而减慢
- 为什么我的程序在8192个元素上循环时速度很慢
- 初始化包含7000个元素的容器时,编译速度较慢
- 返回元素的速度比通过引用和修改发送元素的速度慢
- 在数组中查找最大元素OpenMP和PPL版本的运行速度比串行代码慢得多
- 2D数组中指向元素的指针减慢了代码的速度
- 犰狳元素明智的乘法速度
- 在执行操作时将元素处理到内存块的速度
- 在未排序的整数数组中找到最小元素的速度小于0 (n)
- 读取CAN输入时更新GUI元素的效率/速度