慎用PHP内置的Math函数
如题所示,木有做大规模的运算,还不知道,PHP的Math函数运算原来是如此之慢的,大家还是麻烦点,手写多几句,代码如下:
$start = microtime(TRUE);
for ( $i =0; $i < 200000; $i ++) {
$s = 0; for ( $j =0; $j < 3; $j ++) {
$s += ( $j + $i +1) * ( $j + $i +1); }
}
echo microtime(TRUE) – $start ; # output: 0.33167719841003再对比下用Math函数的代码和结果,代码如下:
$start = microtime(TRUE);
for ( $i =0; $i < 200000; $i ++) {
$s = 0; for ( $j =0; $j < 3; $j ++) {
$s += pow( $j + $i +1, 2); }
} //开源代码phpfensi.com
echo microtime(TRUE) – $start ; # output: 0.87528896331787看到木有,效率提升100%丫,以前还一直都认为是PHP内置的Math快,真是不测不知道,像取绝对值abs,最大值max,最小值min 等效率都不如原生的 if判断来得快.
总的来说,php运算的确是很慢,真心不适合做大规模的算法运算.