First they ignore you
then they ridicule you
then they fight you
then you win
    -- Mahatma Gandhi
Chinese => English     英文 => 中文             
随笔-221  评论-1047  文章-0  trackbacks-0
今天我无意间看到了一个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
测试如下操作:
  1. 读取
  2. 创建
  3. 查询
  4. 更新
  5. 页面生成,直接写入响应(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前景一片光明。

附:Groovy轻松入门--Grails实战基础篇
posted on 2007-03-24 00:32 山风小子 阅读(11287) 评论(21)  编辑  收藏 所属分类: Groovy & Grails