【发布时间】:2013-02-27 10:14:08
【问题描述】:
我有这段代码可以执行用 php 编写的矩阵向量乘法。
这是一个sn-p:
for($i = 0; $i < sizeof($transposed_matrix); $i++) {
$vector[$i] = 0;
for($j = 0; $j < sizeof($new_vector); $j++) {
$vector[$i] += ($transposed_matrix[$i][$j] * $new_vector[$j]);
}
}
我想知道有没有办法让这段代码运行得更快?
【问题讨论】:
-
将循环外的 sizeof() 存储在一个变量中。因为每个循环都会调用 sizeof() 。此外,使用 ++$i 代替 $i++。前增量比后增量快。
-
如果你想做严肃的高性能算术,选择 PHP 以外的语言。以一种缓慢的语言开始只是在踢自己的脚。 (你可以以某种方式从 PHP 调用 C)。
-
感谢艾拉。我现在正在尝试连接 PHP 和 C/JAVA/SciLab
标签: php algorithm parallel-processing execution