程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP與PHP性能測試對比

JSP與PHP性能測試對比

編輯:關於JSP

 本測試數據真實,但只做為參考。歡迎大家討論。

  除做比較外,也可供PHP,JSP程序員參考,以便優化自己的程序。

  一.算術運算

  a.測試標准

  循環N次,並做整型自加運算。

  b.測試

  測試代碼:

測試類型 JSP int整型 JSP long整型 JSP long整型2 PHP PHP2 測試代碼 int i=0;
while (i<XXXX)
{
i ;
}

 

 

long l=0;
while (l<XXXX)
{
l ;
}

 

 

long l=0;
while (l<XXXX)
{
l=l 1;
}

 

 

$i=0;
while ($i<XXXX)
{
$i ;
}

 

 

$i=0;
while ($i<XXXX)
{
$i=$i 1;
}

 

 

  測試結果(單位:毫秒)

  測試結果說明:m-n表示主要波動范圍介於m和n之間;n表示出現次數非常之多的數值或平均值,m(x,y)表示偶爾會出現x,y。以下相同。

XXXX取值 JSP int整型 JSPlong整型 JSPlong整型2 PHP PHP2 1000 0 0 0 0-1 0-1 10000 0 0 0 3-4 6-7 100000 0 0 0(16,32) 34-35 51-52 1000000 0(10) 0(16,32) 0(16,32) 348-368 527-534 10000000 0(13) 16-32 32-78 3547-3585 5239-5390 100000000 0(16) 266-281 265-281 35309-35486 1000000000 0(16,743) 2625-2676 2203-3687

  c.結論

  Java的算術運算,優化得很好,估計是直接的對應CPU的指令,數值再大,算術運算性能都很平穩。

  需要注意的是,long的運算時間要比int的運算時間要長一些(畢竟是32位的系統),所以,在無需用到long時,盡量不要用long,而 用int.

  PHP是弱類型的變量,算術運算很不盡人意,估計不是直接對應機器碼的算術運算。

  PHP算術運算的過程猜測如下,在運算前需要檢測變量是否是數值,並要將非數值轉換成數值,比如,PHP可以做這樣的運 算:100 "zhoutang",結果等於100.正是因為是弱類型語言,加上運算前的檢測和轉換,所以才導致算術運算的性能低下。

  PHP的單次運算時間比較穩定,大概每10000次算術加運算花費的時間約為3.5ms

  不同的運算方法,也對性能有影響。

  二.字符串運算

  a.測試標准

  字符串連接運算對比。

  b.測試

  測試代碼:

測試類型 JSP PHP 測試代碼 String str="";
while (str.length()< XXXX)
{
str ="a";
}

 

 

$str="";
while (strlen($str)< XXXX)
{
$str.="a";
}

 

 

  測試結果(單位:毫秒)

XXXX取值 JSP PHP 1000 0-16 1 10000 656-703 9-10 100000 105078-105235 95-103

  c.結論

  Java的字符串是用對象處理,很明顯,在字符串的比較過程中,Java比PHP差很遠。(因為字符串操作,很大部分要做連接,這裡只比較連接 運算,另外粗略比較了一下substring,兩者的差別不是很大)

  PHP的字符串運算,估計很多是直接調用C的字符串函數,所以效率會高很多。

  在做WEB開發中,字符串的連接操作還是很頻繁的(包括很多時候生成SQL字符串),所以,在算術運算和字符串運算兩個方 面,Java(JSP)優勢不明顯,與PHP各有所長。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved