驚喜!Java為服務(wù)器端Web應(yīng)用帶來最高運行速度
譯文在基準測試中,Java基礎(chǔ)框架以出色的性能表現(xiàn)傲視群雄——但真正吸引開發(fā)人員的因素卻并非性能
骨文公司似乎正持續(xù)將Java推向各個領(lǐng)域,從“物聯(lián)網(wǎng)”等新興領(lǐng)域到傳統(tǒng)范疇,而且這一推動并非依靠宣傳與炒作。在最近的一項基準測試當中,Java力克眾多服務(wù)器端Web框架競爭對手、一舉拿下最佳性能表現(xiàn)桂冠。不過單靠出色的性能是否足以拉攏非Java技術(shù)人員的擁護?
自2013年3月開始,軟件開發(fā)企業(yè)TechEmpower公司已經(jīng)對當下流行的十多種Web應(yīng)用程序服務(wù)器框架進行過性能基準測試,其中包括Ruby on Rails以及Django。每一輪成功測試在參考發(fā)布在GitHub上的開源基準測試之外,還會征求來自技術(shù)社區(qū)的反饋意見。有興趣對自己使用的框架進行基準測試的朋友可以利用同樣的開源代碼親手進行檢驗,并將結(jié)果提交給該公司。
TechEmpower公司的第七輪基準測試結(jié)束于今年十月末——其中包括84套框架以及約200種不同的測試排列——最終結(jié)果表明,在各類領(lǐng)域中表現(xiàn)最出色的框架普遍以Java為基。其中最突出的框架有Gemini、Grizzly(旨在使Java的New I/O API更加易用)、Undertow以及Vertx。
更令人驚訝的是,不少知名度極高的框架——例如針對Ruby的Sinatra、各類ASP .Net框架以及針對Python的Django等——在性能表現(xiàn)方面與優(yōu)勝者相比簡直差了一個量級。作為塊領(lǐng)域的新貴,Node.js確實帶來令人印象深刻的性能表現(xiàn),但其最終成績也只達到第一名的四分之一到三分之一。
甲骨文一直在為Java搖旗吶喊,并將其描述為一套可應(yīng)對各類需求的多合一解決方案(把“各類”換成“全部”可能更為確切)——而其最理想的發(fā)揮舞臺就是Web服務(wù)。甲骨文為Java 8制定的計劃包括統(tǒng)一Java各個版本,從而使開發(fā)人員能夠更輕松地針對不同嵌入式設(shè)備及服務(wù)器編寫代碼——如果ARM真的能夠入主服務(wù)器平臺,那么嵌入式設(shè)備與服務(wù)器之間的界線將更加模糊。另外,Java還得到Avatar項目的有力支持,這是一套JavaScript與HTML 5服務(wù)層,旨在讓Java能夠與Grizzly順利協(xié)作。
如果Grizzly以及其它Java框架同胞的表現(xiàn)確實有這么出色,這是否意味著開發(fā)人員都會為之所吸引并嘗試將一切利用Java進行重新編寫?答案恐怕是否定的。盡管甲骨文很喜歡這種思維方式,但開發(fā)人員在選擇框架時往往還需要在性能之外考慮多種其它因素——例如易于開發(fā)、靠譜的發(fā)布時間、開發(fā)人員親和力以及第三分技術(shù)社區(qū)的參與程度等,這一切都會起到重要的參考作用。隨便舉個例子:CakePHP在TechEmpower的性能競賽中表現(xiàn)糟糕,基本上與Codelgniter和Symfony處于同一水平,但PHP及其框架把持著Web領(lǐng)域35%的份額,因此其人氣依舊高漲。
Java框架也許確實擁有甲骨文一直在鼓吹的出色性能,但其它框架則擁有另一種形式的競爭優(yōu)勢,例如開發(fā)人員基礎(chǔ)、滲透能力以及用戶忠誠度等——甚至有些用戶會單純因為討厭被甲骨文窺視的感覺而拒絕Java。
原文鏈接:http://www.infoworld.com/t/java-programming/surprise-java-fastest-server-side-web-apps-230565