程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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