阅读更多

17顶
3踩

编程语言

原创新闻 Merb和Rails的简单性能测试

2008-12-01 13:21 by 见习编辑 robbin 评论(19) 有9954人浏览
Ruby社区的Web框架Merb已经发布了1.0.3版本了,Merb是一个类似于Rails的Web框架,但是支持更好的模块化,目前Merb已经成为Rails强劲的竞争对手。根据Merb核心团队的透露,Netbeans将在下一个版本提供对Merb框架的支持,无疑这对Merb来说是个好消息。

此外Merb团队提供了一个简单的性能评测,测试Hello World程序在各个框架上面的表现:



如上图所示,Merb的性能不但超越了Rails2.2,而且还超越了Python的Web框架django,在这个评测当中,垫底的是PHP的Web框架CakePHP。详细的介绍请看:http://merbist.com/2008/11/30/latest-news-from-merbland-nov-30/
17
3
评论 共 19 条 请登录后发表评论
19 楼 as3291363 2010-08-12 12:24
CI有那么差吗????
18 楼 koda 2009-07-14 14:21
虽然是老贴,还是要加点补充意见,PHP慢,但也不是这么这个慢法,不是这么个比法。
比如:CakePHP框架运行时总是无条件启动数据库连接,所以HelloWorld也是带有数据连接的。这个消耗很大。
PHP世界中速度较快的Yii,helloworld大约是100R/S,但是如果加上数据库链接,骤降为34R/S,比CAKEPHP略快。

本文提到的其他框架我没有测试过,不敢下结论

17 楼 pure 2008-12-02 20:17
merb作者有大胡子,ror作者没有!呵呵~
16 楼 wellgao 2008-12-02 19:36
顺便贴上坨链接http://feed.yeeyan.com/articles/view/13051/6085
节约Google那点时间
15 楼 fnet 2008-12-02 17:10
leric 写道

原来PHP这么慢?!



如果用了Zend公司的platform,你就不会觉得慢了
14 楼 pure 2008-12-02 14:51
看样子,我要等他2.0出来在用了!
13 楼 freedomstyle 2008-12-02 14:41
   这速度真的很快啊......
12 楼 robbin 2008-12-02 12:26
inosin 写道

看来又要开始学习merb了~呜呼~


merb实际上和rails非常非常近似,你如果熟悉rails的话,用merb没有什么障碍,学习成本非常小,所以这不是什么问题。我个人觉得merb最大的价值在于树立了一个竞争对手,迫使Rails更快更好的发展,哈哈。
11 楼 koalant 2008-12-02 10:42
纯 PHP 程序好像并不慢,但是PHP框架的速度被诟病性能问题的比较多,比如Symfony 的 ORM 就很慢,Zend 没有引入 ORM ,但是也比纯 PHP 慢。

merb 2.0 要加入类似 django 的 admin 管理界面的功能,以及支持 ruby 1.9 + i18n国际化。
10 楼 inosin 2008-12-02 10:36
看来又要开始学习merb了~呜呼~
9 楼 robbin 2008-12-02 10:34
leric 写道

原来PHP这么慢?!

PHP解析器本身并不慢,但是PHP每次处理请求都要初始化整个环境,处理完毕释放所有资源,所以PHP一旦做成框架,就非常非常慢。
8 楼 leric 2008-12-02 10:19
原来PHP这么慢?!
7 楼 pure 2008-12-02 09:23
有空试试,说不定我改变主意了!
6 楼 koalant 2008-12-02 08:55

raw PHP: 331 rps
raw PHP: 331 rps cake PHP: 3.6 rps / 8 rps(eaccelerator)
raw PHP: 331 rps cake PHP: 3.6 rps / 8 rps (eaccelerator) code igniter: 21.5 rps / 98.2 rps (eaccelerator)
raw PHP: 331 rps cake PHP: 3.6 rps / 8 rps (eaccelerator) code igniter: 21.5 rps / 98.2 rps (eaccelerator) Rails: 88 rps
Rails with 1 mongrel is pretty close to the fastest PHP framework.
5 楼 koalant 2008-12-02 08:35
可以看看这个幻灯片,http://www.slideshare.net/mattetti/merb-presentation-at-orug-presentation?type=powerpoint
4 楼 天机老人 2008-12-01 22:17
哇塞,这样是不是以为Ruby的网站的速度不再是诟病?
3 楼 koalant 2008-12-01 17:30
明年应该是 Merb 发展的一年,相信会有越来越多的 Rails 开发人员会转到 Merb 上来(尤其是中高级开发人员),但是 Rails 还是会在 ruby web 框架的用户数上占绝对的优势的,主要是在资料文档和出版物上 rails 的优势太明显了。
2 楼 ahuaxuan 2008-12-01 16:21
终于,ruby得世界不再单一,终于也不再象以前那么团结.
终于类似python得web开发世界了,不过超过django让人惊讶.
1 楼 koalant 2008-12-01 14:13
在苹果机上运行 merb-gen resource 生成的简单scaffold应用, 的确比 rails 生成的scaffold 应用快很多,这种速度上的差异你自己在浏览器中点击都能感觉到。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 使用ICEFaces+Facelets开发Web程序

    我的<<JSF起步>>介绍了JSF1.2的基本生命周期等基础知识,并结合JSP技术描述了如何...使用Facelets开发JSF程序>>进一步描述了JSF世界里比较先进的Facelets技术。不过作为开发当今世界普遍需要的we...

  • ICEfaces抄袭PrimeFaces

    ICEfaces涉嫌抄袭PrimeFaces ...ICEfaces的行为真令人失望! 由于PrimeFaces和ICEfaces都是开源产品,因此抄袭在法律上没有问题。但是在道德上,则无法过关。抄袭的代码对比如下: 一、PrimeFace...

  • 比较了一下OperaMasks和IceFaces。

    1 开发效率:OperaMasks比IceFaces要快一倍。 2 工具支持:OperaMasks Studio对...3 界面效果:IceFaces跟OperaMasks没有任何可比性。 4 开源效果:OperaMasks采用LGPL开源协议,IceFaces采用MPL协议,前者...

  • 1. JSF 2006年大事记:ICEsoft发布ICEfaces企业版

    ICEsoft的著名产品是ICEfaces,这是集ICEsoft丰富的应用经验和ISF技术于一体的一个Java软件产品。 2006年7月19日,时间刚刚跨过2006年年中,ICEsoft宣布,其ICEfaces的企业版1.0正式发布。在当时,

  • AJAX,FLash,Silverlight,orJavaFX Must We Choose?

    这篇文章是介绍我们怎样去面对AJAX和HD RIA Framework(Flash,Silverlight,javaFx)的整合,文中先从一个使用HD RIA Framework者的角度来谈HD RIA solution的优点,又根据它的优点来谈AJAX的优缺点,从而进一步提出...

  • NetBeans 6.8即将到来,你准备好了么?

    既然不再支持Woodstock,那NetBeans中就没有“Visual Pack”了,有人建议 Oracle通过JDeveloper中的ADF支持来实现这一点 : Oracle对JSF/ADF的支持很不错,而NetBeans是个优秀的轻量级Java EE 6环境。NetBeans ...

  • Seam能否取代Struts?

    本文分析了JBoss Seam有望取代Struts成为Java Web应用框架”下一个王者”的原因,并且指出了Spring和Google Web工具包... 目前已经出现了几个有望取代Struts的框架,但是还没有最终的胜利者。你认为谁会当之无愧地...

  • 基于java+springboot+mysql+微信小程序的流浪动物救助小程序 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea、微信开发者工具 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat

  • 基于springboot的体质测试数据分析及可视化设计源码(java毕业设计完整源码+LW).zip

    项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

  • python 3.8.20 windows install 安装包

    编译的 python 3.8.20 windows install 安装包

  • 基于go-zero的用户管理系统全部资料+详细文档.zip

    【资源说明】 基于go-zero的用户管理系统全部资料+详细文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

  • 基于springboot的时间管理系统源码(java毕业设计完整源码+LW).zip

    时间管理系统采用java技术,基于springboot框架,mysql数据库进行开发,实现了首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理等内容进行管理。 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

  • 基于springboot的火车订票管理系统源码(java毕业设计完整源码+LW).zip

    项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

  • 收到防护服快快快啊啊啊啊啊

    收到防护服快快快啊啊啊啊啊

  • 葡萄城手册,快速上手,灵活报表

    制作报表

  • simulink相位调制器PM

    simulink相位调制器PM

  • 2023-04-06-项目笔记 - 第三百六十阶段 - 4.4.2.358全局变量的作用域-358 -2025.12.27

    2023-04-06-项目笔记-第三百六十阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.358局变量的作用域_358- 2024-12-27

  • (59423620)指纹识别基于matlab GUI指纹识别【含Matlab源码 1353期】.zip

    【指纹识别】基于matlab GUI指纹识别是一种生物特征识别技术,它利用了人类指纹的唯一性和稳定性进行身份验证。在本项目中,我们探讨的是如何使用MATLAB图形用户界面(GUI)来实现这一过程,包括图像采集、预处理、特征提取和匹配等多个步骤。 指纹图像的采集是整个系统的基础。这通常通过专用的指纹传感器完成,它们可以捕获高质量的指纹图像。在MATLAB中,我们可以使用摄像头或其他图像输入设备模拟这一过程,将捕获的图像导入到GUI中。 接下来是预处理阶段。指纹图像往往含有噪声和不清晰的部分,因此需要进行图像增强,以突出指纹的细节特征,如脊线和谷线。这可能包括二值化、直方图均衡化、滤波等操作。MATLAB的图像处理工具箱提供了丰富的函数支持这些预处理步骤。 特征提取是识别的核心环节。指纹的特征通常包括核心点、三角点、终结点以及脊线的方向和纹路模式。MATLAB中可以使用方向图像和细化算法来检测这些特征点,并生成特征描述符。例如,使用Gabor滤波器可以提取脊线方向信息,而细化算法可以帮助找到特征点。 GUI设计是用户交互的关键。在这里,用户可以上传指纹图像,系统会实时显示预处理和特征提取的

  • 基于Go后端的外挂式评论系统全部资料+详细文档.zip

    【资源说明】 基于Go后端的外挂式评论系统全部资料+详细文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

  • nosql分布式数据库期末考试题a.docx

    ### NoSQL分布式数据库知识点解析 #### 一、选择题知识点详解 **1. 关系数据库与非关系数据库** - **关系数据库**: MySQL、SQL Server 和 Oracle 均属于关系数据库,它们采用 SQL 作为标准查询语言,支持 ACID 特性(原子性、一致性、隔离性和持久性)。 - **非关系数据库**: 指的是不采用表格形式来组织数据的数据库类型,通常用于处理大量非结构化或半结构化数据。 **2. 数据库语言分类** - **数据定义语言 (DDL)**: 用于定义数据库结构的语言,如创建、修改和删除表等操作。 - **数据操纵语言 (DML)**: 用于添加、修改和删除数据的语言,如 INSERT、UPDATE 和 DELETE 等命令。 - **数据查询语言 (DQL)**: 用于查询数据的语言,主要是 SELECT 语句。 - **数据控制语言 (DCL)**: 用于管理权限和安全性的语言,如 GRANT 和 REVOKE 命令。 **3. 关系数据库优点** - **易于理解**: 使用表格形式组织数据,符合人类直观认知习惯。 - **易于维护**: 支持事务处理,确保数据一致性。 - **支持 SQL**: 使用标准查询语言,便于数据查询和处理。 **4. MongoDB 编程语言** - **JavaScript**: MongoDB 是用 C++ 开发的,但其 Shell 环境使用 JavaScript,使得数据查询和管理更加便捷。 **5. NoSQL 数据库特点** - **分布式**: 能够在多台计算机上分布存储数据,适用于大数据量的处理。 - **不基于 ACID**: 相对于传统的关系数据库,NoSQL 数据库往往牺牲了部分 ACID 特性以换取更高的性能和可扩展性。 **6. CAP 理论** - **一致性 (C)**: 所有节点在同一时间具有相同的数据。 - **可用性 (A)**: 每个请求都能得到一个合理的时间内非错误的响应,但不保证是最新的数据。 - **分区容错性 (P)**: 系统中任意信息丢失的子网故障都不会导致整个系统不可用。 - **CAP 定理**: 在一个分布式系统中,只能同时满足一致性、可用性和分区容错性中的两个。 **7. 知识图谱与 NoSQL 数据库** - **MongoDB**: 适合用于构建知识图谱,因为它支持灵活的数据模型和高效的查询能力。 - **Redis**: 一种键值存储数据库,适用于缓存和实时数据分析。 - **HBase**: 一种列族存储数据库,适合大规模随机读写访问。 **8. HBase 特点** - **容量巨大**: 可以存储非常大量的数据。 - **列存储**: 数据按列族存储,方便进行列级别的访问。 - **稀疏性**: 允许某些列未填充,即某些单元格为空。 **9. HBase 核心组件** - **HMaster**: 负责协调客户端请求、分配 Region 以及负载均衡等工作。 - **RegionServer**: 存储数据的实际服务器。 - **Zookeeper**: 用于协调分布式环境中的服务,例如选举 HMaster。 **10. MongoDB 集合命名规则** - **system.**: 系统保留前缀,用于系统集合。 - **保留字符 $**: 用于特殊目的,如聚合管道。 - **空字符串**: 不允许作为集合名称。 **11. MongoDB 主键** - **UUID**: 通用唯一识别码,常用于作为主键。 - **Sequence**: 序列,也可以作为主键生成方式之一。 - **Auto-increment**: 自动递增,MongoDB 默认为主键使用 BSON 类型的 ObjectId。 **12. MongoDB 逻辑结构** - **数据库 (db)**: MongoDB 中的最高层级,可以包含多个集合。 - **集合 (collection)**: 数据库内的数据容器,类似于关系数据库中的表。 - **文档 (document)**: 数据的基本单位,由键值对组成。 **13. 内存数据库** - **Redis**: 键值存储数据库,常作为内存数据库使用。 - **MongoDB**: 非内存数据库,但可以通过配置将常用数据驻留在内存中。 - **Bigtable**: 谷歌的分布式数据存储系统,并非专门设计为内存数据库。 **14. Neo4j 图形数据库应用场景** - **快递物流数据管理**: 适用于关系较为复杂的数据管理场景。 - **家庭用电数据管理**: 更偏向于使用时序数据库。 - **企业考勤数

Global site tag (gtag.js) - Google Analytics