自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Tapestry5的性能改進(jìn)淺析

開(kāi)發(fā) 后端
本文對(duì)Tapestry5的性能改進(jìn)做了一些評(píng)測(cè),對(duì)Tapestry5的速度、內(nèi)存泄露、表單應(yīng)用和不同處理器和系統(tǒng)上的效率等方面做了比較全面的介紹。

Ben Gidley進(jìn)行了一個(gè)關(guān)于Tapestry5.1.0.5的性能評(píng)測(cè)。最后,他得出的結(jié)論是:

1、Tapestry5的速度是比較快的。即使在一定的壓力下Tapestry的反應(yīng)時(shí)間也相當(dāng)短。Tapestry并不總是最快的解決方案,但它對(duì)于我(譯注:Gidley)已經(jīng)足夠快了。

2、Tapestry5沒(méi)有內(nèi)存泄漏。我以前曾經(jīng)聽(tīng)說(shuō)過(guò)Tapestry會(huì)占用大量的內(nèi)存,實(shí)際上,正好相反。它使用的內(nèi)存比Struts/Jsp還要少。內(nèi)存使用曲線相當(dāng)?shù)钠教埂?/P>

3、Tapestry5在表單應(yīng)用中比struts要快。Tapestry在應(yīng)用變得非常復(fù)雜的時(shí)候有一定的優(yōu)勢(shì)。這可能利益于其模塊池技術(shù)。

4、Tapestry5不輕易崩潰,即使崩潰,也會(huì)恢復(fù)。Tapestry在極大壓力的情況下確實(shí)會(huì)相應(yīng)變慢,但是它會(huì)暫?;蛘哂龅狡款i(譯注:我懷疑是作者這里有筆誤,從語(yǔ)氣和上下文來(lái)看,感覺(jué)應(yīng)該不是暫停和沒(méi)有瓶頸),這的確是一個(gè)好事情。另外在壓力減輕之后,Tapestry能夠自動(dòng)恢復(fù)。

5、更多的CPU并一定會(huì)提升性能。在一系列的測(cè)試中,性能與CPU的數(shù)量并不是線性增長(zhǎng)。2個(gè)CPU確實(shí)比一個(gè)CPU的性能翻倍了,但是4個(gè)CPU并不比2個(gè)CPU的性能翻倍。因此,建議在多個(gè)雙核CPU的虛擬機(jī)上運(yùn)行,而不是少數(shù)的4核CPU上運(yùn)行。

6、64位比32位要快。這一點(diǎn)很讓我驚奇。不管在Solaris還是Linux上,運(yùn)行在64位JVM中要比在32位JVM要快。

7、Linux要比Open Solaris X86要快。這一點(diǎn)同樣讓我驚奇。我本來(lái)以為性能應(yīng)該是相似的。

最終的結(jié)論是:Tapestry即使是對(duì)于一個(gè)大并發(fā)量的Web應(yīng)用來(lái)說(shuō)也已經(jīng)足夠快了。如果你的應(yīng)用有性能問(wèn)題的話,那么問(wèn)題應(yīng)該出在你自己本身的代碼上。

Taptestry5和Struts相比,我認(rèn)為差別應(yīng)該是在反射的使用上(包括在java.bean.Introspector中大量的synchronization)。因此在Struts將查詢參數(shù)的名稱映射成JavaBean屬性的時(shí)候,會(huì)比較耗時(shí)。而Tapestry5是不使用反射的,Tapestry在查詢參數(shù)和JavaBean的屬性之間使用一種“預(yù)編程”向量組件,也許這就是兩者(Tapestry和Struts)的差別。當(dāng)然,這只是猜想,如果要證實(shí)的話,是需要花費(fèi)很多時(shí)間的。我認(rèn)為OGNL的教訓(xùn)不是說(shuō)反射很慢,而是在于一個(gè)關(guān)鍵代碼上的序列存取對(duì)于性能的影響是相當(dāng)大的。

最后一個(gè)小提示:我覺(jué)得在Tapestry5應(yīng)用中如果把BeanModel從BeanModelSource中只提取一次,然后給Grid,BeanEditForm等等提供一個(gè)可以存取的方法,將會(huì)獲得相當(dāng)?shù)男阅芴嵘?。這樣就不是需要每次都重建BeanModel,將減少操作的消耗。

 

【編輯推薦】

  1. Tapestry5新特性詳解
  2. Apache Tapestry 5.1 最終版發(fā)布
  3. 初探下一代Web開(kāi)發(fā)模式Tapestry
  4. web框架Jakarta Tapestry 4.0.1發(fā)布
  5. Eclipse 3.5更新特性一覽
責(zé)任編輯:佚名 來(lái)源: BlogJava
相關(guān)推薦

2009-06-29 17:42:03

Tapestry5新特

2009-07-03 14:41:29

2009-07-03 16:33:13

Tapestry函數(shù)執(zhí)

2009-07-14 14:16:03

Tapestry 5.Tapestry教程Tapestry頁(yè)面

2009-07-03 14:28:03

Tapestry 5組

2024-10-24 08:07:25

大語(yǔ)言模型LLMRAG模型

2020-11-01 17:13:22

DotNET 5語(yǔ)言gRPC

2015-08-28 10:47:48

Windows 10EdgeHTML

2011-04-18 09:03:36

數(shù)據(jù)庫(kù)查詢

2009-06-22 14:22:41

JSF和Tapestr

2011-07-25 16:32:08

HTML 5

2010-02-04 10:27:33

Android DDM

2013-07-12 15:17:22

BGP組網(wǎng)BGP協(xié)議

2017-07-07 16:36:28

BIOIO模型 NIO

2009-06-24 16:16:30

JSF和Tapestr

2015-12-16 12:40:32

H5緩存機(jī)制移動(dòng)

2009-07-03 17:09:01

學(xué)習(xí)Tapestry

2009-05-06 09:56:22

Ruby性能改進(jìn)

2009-08-21 15:06:09

C#連接字符串

2009-11-03 09:21:26

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)