求助,common lisp 循环迭代加速问题
lisp吧
全部回复
仅看楼主
level 1
f061420121357 楼主
代码如下
(defun matrix* (matrix1 matrix2)
(let* ((m1 (array-dimension matrix1 0))
(n1 (array-dimension matrix1 1))
(m2 (array-dimension matrix2 0))
(n2 (array-dimension matrix2 1))
(newMatrix (make-array (list m1 n2))))
(dotimes (i m1)
(dotimes (j n2)
(setf temp 0.0d0)
(dotimes (k n1)
(setf vari (* (aref matrix1 i k) (aref matrix2 k j)))
(incf temp vari))
(setf (aref newMatrix i j) temp)))
newMatrix))
计算两个矩阵的乘法,compile之后循环调用几百次得10秒,有哪位能指点一二,怎么优化才能使运算快点?
2015年09月07日 07点09分 1
1