First they ignore you
then they ridicule you
then they fight you
then you win
    -- Mahatma Gandhi
Chinese => English     英文 => 中文             
随笔-179  评论-1027  文章-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 山风小子 阅读(5481) 评论(21)  编辑  收藏 所属分类: Groovy & Grails

评论:
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-24 08:50 | ronghao
没有人推它也不好使,就是这样  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-24 13:53 | 山风小子
@ronghao
没人推它?Oracle推它!
至于不好使,您用过吗?  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-24 18:26 | ronghao
你没有理解我的意思,我的意思是:一个东西,即使它很好,如果没有人大力的宣传它推它也流行不起来的。我可没有说它不好使:)  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-24 18:42 | 山风小子
@ronghao
呵呵~ 这可能是中文语句的岐义吧 :)
之前Grails没多少人使用它开发其中一个原因是Groovy1.0还没发布(1.0是2007年1月份初发布的),Grails版本比较低,1.0尚未发布,但如果您留意Grails的现况的话,您会发现Grails的开发团队特别积极,打算年中发布Grails1.0,社区也特别热闹 :)
您似乎比较关注安全方面的东东,以后要向您多请教请教了 :)  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-24 23:09 | 京山游侠
我喜欢,等Grails发布了1.0,我也去试试  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-25 12:32 | 山风小子
@京山游侠
到时一起探讨探讨 :)  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-25 15:43 | Christ Chang
严重关注啊!RoR有两点我不喜欢,第一,他抛弃了很多java的东西,我已经做java很多年了,不愿意去弄一个很不相干的东西。第二,Ruby的license,Ruby还是属于那个小鬼子的,虽然这个东西貌似很有前途,但是作为一个中国人,感觉很不舒服。
我在决心学一门脚本语言的时候就考虑过Python,Jython,Groovy等等等等,最后选择了Ruby,主要是因为Rails,主要是因为一直都是在做Web这一块,它的开发速度确实让人着迷,而且学习成本不高。在j2ee里你要学习很多很大的框架,还要钻研设计模式,相比而言RoR的那点学习成本基本可以忽略不计。
好在现在这样的框架多起来了,Groory有Groory on GRails、Lisp有Lisp on Line、还有SQL on Rails、Trails、MonoRails。我很认真的希望这些Rails的模仿者能早日赶超RoR。
最后,严重支持GRails!  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-25 16:15 | 山风小子
@Christ Chang
您如果尝试过Rails的话,Grails也不会让您失望的 :)  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-26 09:40 | Christ Chang
@山风小子
等这阵闲下来了,我一定试试!  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-03-26 13:38 | 山风小子
@Christ Chang
那时您或许能用上Grails1.0了 :)  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-04-25 15:14 | lgx522
学了个把月RoR,还是否掉了。原因有二:
一、非常讨厌ruby的语法,乱糟糟的。这对于用惯了C语系(C、C++、Java以至C#)的程序员们实在难以忍受。
二、Java经过多年积累形成了庞大的宝贵类库和代码,且久经企业级应用的考验,放弃不用而重写,无亦于邯郸学步。

可是RoR的开发效率那可真是高啊!

好在现在有了Grails,吃够了J2EE痛苦的兄弟们一起来研究吧!  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-04-25 15:42 | 山风小子
@lgx522
嗯,您说的的确很有道理。
我补充几点:

1,从语言方面看,各个学校,凡是教授计算机的专业,一般都以C语言入门,然后要么C++,要么Java,好不容易能熟练用Java开发项目了,要这些学生去学非"C语系"的语言,无异于让他们从头学过,没几个学生会放弃自己已经熟练使用的语言的。更别说从事Java多年的开发人员了。

2,从框架方面看,虽然Grails现在还没RoR那么成熟,但它是标准的J2EE项目,可以跑在任何Web Server上面,而且可以用Groovy和Java混合开发,性能方面绝对没有问题。此外今年10月份Grails就要发布1.0版本了,也就标志着它达到了一定的成熟度,据我所知,RoR现在是1.2.x版本。

3,从开发工具方面看,JetBrains的IntelliJ IDEA 7和Sun的NetBeans 6都将支持Groovy和Grails的开发,之前仅仅是支持一些基本的功能(如语法高亮),支持Groovy的Eclipse插件也快完成,而支持Grails的Eclipse插件正在开发中,从“Groovy好事连连”可以看到效果图。
  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-08-06 23:56 | 远离尘嚣
个人隐约感觉到,Oracle加挺grails的用意,就像当年IBM力挺Java.多年以后,Java成功了,IBM赚大钱了. Oracle会有回报的!'全面开发,就一直'------Grails!  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-08-08 21:10 | 山风小子
@远离尘嚣
嗯,如果既要追求速度,又要追求质量的话,采用Grails是最明知的选择了 :)  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-09-16 23:10 | tipfoo
正想试试看,可惜Grails还没出1.0  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-11-18 01:46 | fireflyc
好事情~~呵呵~
ROR是世界上最慢的~最最慢的~~~最最最慢的~~~
不过我试用了一下Grails,运行效率上我不好说,没有做过测试,它的命令行工具我发现是有点慢吞吞的味道~~ROR也是这个毛病,不过ROR在Linux下好一点~~Grails的问题在哪里?所有的类似的工具种我到觉得Django比较成熟一点~呵呵~做广告了~我会一直关注Grails的~  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-11-18 09:10 | 山风小子
@fireflyc
目前Grails用命令行生成代码已经不像以前那么慢了,快很多很多了,您可以再试试 :)

至于开发Grails的工具,我首推IntelliJ IDEA的JetGroovy插件
http://www.grails.org/IDEA+Integration  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2007-12-21 09:43 | bizairshop
今天Grails还是 1.0 RC3
不过真的是烦j2ee去开发web应用了。那么多框架、模式,
full-stack的也没有一个好用的。
确实,j2ee在需要敏捷快速的中小型web开发中无形增加了很多复杂壁垒,
但java的积累和庞大,在大型的企业应用上的地位还是不容易被撼动的。

所以在中小web应用中尝试尝试ror应该不错啊
http://www.bizairshop.com


  回复  更多评论
  
# Grails or Django? 2008-01-28 20:15 | junphine
一直在Django和Grails之间摇摆不定,那位给个建议。偶对python和Java的熟悉程度一样。  回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails)[未登录] 2008-02-21 14:00 | charles
groovy的作者到底是谁啊啊 团队成员大致有那些也无从知道   回复  更多评论
  
# re: 测试表明:Grails的性能远胜于RoR(Ruby on Rails) 2008-03-13 01:27 | Grails是垃圾
Grails 是垃圾 吹的很大 问题多多  回复  更多评论
  


标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-03-25 07:51 编辑过