今天我無意間看到了一個Grails與RoR(Ruby on Rails)的性能比較(此文已更新,但結(jié)果大致不變),覺得有必要與各位還不了解Grails的朋友分享一下,以消除對Grails的神秘感甚至誤解:
硬件:
- Apple MacBook
-
1.83ghz Intel Core Duo
-
1GB 667 Mhz DDR2 SDRAM
軟件:
Grails
- OS: Mac OS X 10.4.9
- Server: Apache Tomcat 5.5.20
- Version: 0.5-SNAPSHOT from 20th of March
- Environment: Production
- Database: MySQL 5.0.27
- Java: Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-164) //注意,還沒有用到目前性能最好的JDK6
- JDBC Driver: mysql-connector-java-3.1.10-bin.jar
Rails
- OS: Mac OS X 10.4.9
- Server: Mongrel 1.0.1
- Version 1.2.3
- Environment: Production (Started with mongrel_rails start -e production)
- Database: MySQL 5.0.27
- Other notes: I installed the Ruby MySQL native bindings as per the aforementioned article
測試如下操作:
- 讀取
- 創(chuàng)建
- 查詢
- 更新
- 頁面生成,直接寫入響應(yīng)(Response)
測試結(jié)果如下:
讀取方面的性能
創(chuàng)建記錄方面的性能
查詢方面的性能
更新記錄并生成頁面方面的性能
更新隨機(jī)的3條記錄并以XML形式返回方面的性能
更新隨機(jī)的3條記錄并以String形式返回方面的性能
結(jié)論
:正如所料想的那樣,由于Grails是由15%的groovy代碼和85%的Java代碼寫成,并建立在千錘百煉的經(jīng)典框架(Spring,Hibernate,Sitemesh)之上,所以
在各項測試中,Grails均擊敗了RoR,值得注意的是:Grails目前還沒有經(jīng)過特殊優(yōu)化,且發(fā)起要比RoR晚兩年。由此可見,單從性能方面考慮,Grails可以應(yīng)用在任何應(yīng)用RoR的項目中,而從開發(fā)語言來說,Groovy相對Ruby對于廣大的Java開發(fā)者來說更友好。另外Groovy1.0發(fā)布后,Grails(目前版本為0.4.2)緊鑼密鼓,加快了開發(fā)步伐,有望于今年(即2007)年中(非年終)發(fā)布1.0,可見,Grails前景一片光明。
附:
Groovy輕松入門--Grails實戰(zhàn)基礎(chǔ)篇
posted on 2007-03-24 00:32
山風(fēng)小子 閱讀(11300)
評論(21) 編輯 收藏 所屬分類:
Groovy & Grails