1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP_I love U之(2)php衣食父母: Java与PHP效率比拼之一:斐波那契数列

作者:用户 来源:互联网 时间:2017-12-01 18:40:49

java

PHP_I love U之(2)php衣食父母: Java与PHP效率比拼之一:斐波那契数列 - 摘要: 本文讲的是PHP_I love U之(2)php衣食父母: Java与PHP效率比拼之一:斐波那契数列, PHP_I love U之(1)php衣食父母: Java与PHP效率比拼之一: 斐波那契数列 Fibonacci 解释见:http://zh.wikipedia.org/wiki/%E6%96%90%E6%B3%A2%E9%82%A

PHP_I love U之(1)php衣食父母: Java与PHP效率比拼之一:

斐波那契数列

Fibonacci

解释见:http://zh.wikipedia.org/wiki/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97

  • PHP_I love U之(2)php衣食父母: Java与PHP效率比拼之一:斐波那契数列 ( 应该是1 , 维基的公式错了。。。)
  • PHP_I love U之(2)php衣食父母: Java与PHP效率比拼之一:斐波那契数列
  • PHP_I love U之(2)php衣食父母: Java与PHP效率比拼之一:斐波那契数列(n≧2)

这次先写 Java的代码:

class fb {

static int f1b (int x) {

if ((0==x)||(1==x) ) {  return 1 ;}

int a;

a=f1b(x-1)+x;

System.out.println( a);

return a;

}

public static void main(String[] args) {

long startTime=System.nanoTime();   //star

long startTimeMs=System.currentTimeMillis();   //        

//doSomeThing();  //Coding  

f1b(999);

long endTime=System.nanoTime(); //end  

System.out.println("Run Timming:"+(endTime-startTime)+"ns");

long endTimeMs=System.currentTimeMillis(); //获取结束时间    

System.out.println("Runing Time: "+(endTimeMs-startTimeMs)+"ms");    

}//main

}//class fb

PHP的代码:

<?php

function Fun1($x) //$x)

{

if (0==$x) { return 1;echo "/r/n";}

if (1==$x) { return 1;echo "/r/n";}

$b1= $x + Fun1( $x-1 ) ;

echo $b1;

echo "/r/n";

return $b1 ;

}

$x0=999;//100;

$t1 = microtime(true);   

//要测试(时间)效率的代码;

Fun1($x0);

$t2 = microtime(true);   

echo (($t2-$t1)*1000).'ms';

结果:

Time: 104177238ns

PHP:...

......

499500

Time(MS):  161.00978851318ms

结果:

JAVA  vs PHP

104ms  vs 161ms

当然是  Java胜出……

但考虑到 java的代码 要用 Javac 编译一遍……

而PHP的代码 直接 用php.exe 直接就运行了

所以 999 次(或9999次) 斐波那契数列 计算之后 (都近似为)     1 : 1.6  的效率比 …… PHP还是能接受的吧

总之:PHP I 继续 love U(you)!

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java ,以便于您获取更多的相关知识。