测试的PHP是5.4.5版本
zephir是PHP开发C扩展的捷径
理论上C开发的PHP模块应该速度更快,zephir用递归编写的斐波那契数
namespace Feibo;
class Good{
public function fibonacci(int n) -> int {
if (n == 1 || n == 0){
return n;
}
return this->fibonacci(n - 1) + this->fibonacci(n - 2);
}
public function startf(){
this->fibonacci(30);
}
}
php用递归的斐波那契数
function fibonacci($n)
{
if ($n == 1 or $n == 0) {
return $n;
}
return fibonacci($n - 1) + fibonacci($n - 2);
}
$startTime = microtime(true);
var_dump($startTime);
fibonacci(30);
$endTime = microtime(true);
var_dump($endTime);
var_dump($endTime - $startTime);
我把模块直接编译到了PHP核心
消耗时间
我用PHP 直接进行计算
真是没有想到,C模块竟然消耗的时间是原声PHP的几乎两倍。是不是zephir生成的C代码冗余太多了,影响了性能。