测试表明:Grails的性能远胜于RoR(Ruby on Rails)
今天我无意间看到了一个Grails与RoR(Ruby on Rails)的性能比较(此文已更新,但结果大致不变),觉得有必要与各位还不了解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
测试如下操作:
读取
创建
查询
更新
页面生成,直接写入响应(Response)
测试结果如下:
读取方面的性能
创建记录方面的性能
查询方面的性能
更新记录并生成页面方面的性能
更新随机的3条记录并以XML形式返回方面的性能
更新随机的3条记录并以String形式返回方面的性能
结论 :正如所料想的那样,由于Grails是由15%的groovy代码和85%的Java代码写成,并建立在千锤百炼的经典框架(Spring,Hibernate,Sitemesh)之上,所以在各项测试中,Grails均击败了RoR,值得注意的是:Grails目前还没有经过特殊优化,且发起要比RoR晚两年。由此可见,单从性能方面考虑,Grails可以应用在任何应用RoR的项目中,而从开发语言来说,Groovy相对Ruby对于广大的Java开发者来说更友好。另外Groovy1.0发布后,Grails(目前版本为0.4.2)紧锣密鼓,加快了开发步伐,有望于今年(即2007)年中(非年终)发布1.0,可见,Grails前景一片光明。 |