主题:关于成员函数调用速度~
alsoran
[专家分:760] 发布于 2011-12-10 00:42:00
Fortran 调用成员函数速度快还是普通的过程快一些?
回复列表 (共5个回复)
沙发
alsoran [专家分:760] 发布于 2011-12-10 00:45:00
ps:似乎论坛服务器时间比标准时间快了10分钟~~
板凳
yeg001 [专家分:14390] 发布于 2011-12-10 10:22:00
我认为现在的编译器应该编译过程中,函数连接的时候已经自动连接实体的函数了. 否则编译器也未免太笨了些.
3 楼
alsoran [专家分:760] 发布于 2011-12-10 19:49:00
请教为什么我把matmul函数重载了一下,测试计算速度,结果速度是单纯用matmul的一半?仅仅重载了一下,差别这么大……
4 楼
yeg001 [专家分:14390] 发布于 2011-12-11 12:49:00
怎么重载了一下?
还有如果你对矩阵计算速度要求高的话, 用BLAS函数库(MKL里面也带了), 很久前我在论坛发个一个贴比较matmul和blas里面的相乘函数.
5 楼
cgl_lgs [专家分:21040] 发布于 2011-12-12 09:25:00
呵呵,不知道你是怎样测试的,是用大矩阵少次乘还是小矩阵多次乘。如果是后者,那相当于两次调用函数,自然会慢很多。如果是前者,那就应该是编译器的事儿了:)
另外:matmul往往计算效率一般,不同的编译器实现效率相差很大:)
PS:你也在Fortran Space里?
我来回复