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

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

WBOY
WBOYOriginal
2016-06-23 13:44:19929Durchsuche

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


  • ( 应该是1 , 维基的公式错了!?!)
  • (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的代码:


        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';


    结果:

    Java:......

    499500

    Time: 104177238ns

    MS time: 104ms


    PHP:...

    ......

    499500

    Time(MS):  161.00978851318ms


    结果:

    JAVA  vs PHP

    104ms  vs 161ms

    1574ms  vs 909ms

    当然是  Java胜出……


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

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

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


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

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn