时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

Rails 1.2 性能不如 1.1?

  • 2007-04-09
  • 本文字数:745 字

    阅读完需:约 2 分钟

Stefan Kaes 自 2005 年加入 Rails 核心开发团队,并撰写了 InfoQ 2006 年最受欢迎的文章《Rails 常见性能问题一览》。他的 Rails 性能测试工具 Railsbench 刚刚发布了 0.9.2 版本。Railsbench 是一个 Ruby 和 Shell 的集合,可以帮助我们轻而易举地测试 Rails 应用的原始性能。目前对 HTTP POST 进行基准测试的功能已经得到支持,并有一些新特性加入,这些特性将影响到Railsbench 的benchmarks.yml 配置文件的格式,以及对PNG 图片文件的生成。

Stefan 拿着新版本现炒现卖,对Rails 1.1-stable 和1.2-stable 进行性能比较。测试套件涵盖简单渲染(Simple Rendering)、Action 缓存(Action Cached)和Session 创建(Session Creation)的方面,套件运行时使用了pstore、ActiveRecordStore 和SqlSesionStore 三种Session 配置方案。

Stefan 的测试结果显示,1.2-stable 比 1.1 性能降低 20%。他发表了一份完整报告,其中的评论和建议转载如下:

  • 先前关于 Rails 1.2 性能只及 1.1 一半的报告是对 Rails 性能的心理恐惧战术(译者按:原文是 FUD,是恐惧(Fear)、不确定(Uncertainty)和疑虑(Doubt)的缩写,原指垄断巨头对于弱小竞争者的一种竞争策略。Stefan Kaes 在此使用这个说法的原因是 Alrond 之前写的一篇文章,关于 6 个领先的动态语言 Web 框架的性能测评,结论之一是 Rails 1.2 只及 1.1 性能的一半。值得注意的是,Alrond 对 Web 框架的偏好似乎是 Django。)
  • Action 缓存方面值得引起一定注意
  • 绝对不要选择 pstore 做为 Session 容器
  • 由于缓慢的 GC 和 Ruby 解析器的大量额外性能开支,使用当前的解析器要避免性能下降似乎可能不大。使用 YARV 可能会带来改观。

这个问起看来还是存在:Rails 核心团队是否在 Rails 1.2 中拿新特性牺牲了性能?下一个稳定发布版的重心是否会放在性能方面?

2007-04-09 00:001096
用户头像

发布了 117 篇内容, 共 20.3 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

深入浅出 GIF

yuanyxh

js GIF #前端

typora & vscode 实现图片自动上传与云

yuanyxh

Typora js #前端

记录一次关于 vuepress 滚动恢复的讨论

yuanyxh

js #前端

JavaScript 概念 - 高阶函数

yuanyxh

js #前端

CSS 数据类型与浏览器渐进兼容处理

yuanyxh

CSS #前端

JavaScript 概念 - 闭包

yuanyxh

js #前端

ES6 新特性详解 - Symbol

yuanyxh

js #前端

ES6 新特性详解 - 箭头函数

yuanyxh

js #前端

JavaScript 概念 - 原型与继承

yuanyxh

js #前端

应用闪退分析与 uniapp 安卓原生插件开发

yuanyxh

调试 an'droid #前端

HTML5 拖拽 Api 研究

yuanyxh

js #前端

什么是函数式编程

yuanyxh

js 函数式编程 #前端

redux 源码学习

yuanyxh

js Redux #前端

个人博客搭建 - 基于Hexo + Next + Github

yuanyxh

Hexo js #前端

饿了么基于Flink+Paimon+StarRocks的实时湖仓探索

Apache Flink

大数据 flink 实时计算 StarRocks

飞猪、去哪儿网接连“出事”,在线旅游平台有多少“坑”?

趣解商业

去哪儿网 飞猪 在线旅游平台

代码风格与编码习惯

yuanyxh

js #前端

ES6 新特性详解 - 迭代器与生成器

yuanyxh

js #前端

ES6 新特性详解 - 解构赋值

yuanyxh

js #前端

利用 FileSystem API 实现一个 web 端的残缺版文件管理器

yuanyxh

js #前端

Pro Git 阅读理解:Git 是如何实现的

yuanyxh

js #前端

JavaScript 概念 - 事件循环

yuanyxh

js #前端

ES6 新特性详解 - Promise

yuanyxh

js Promise #前端

ES6 新特性详解 - 异步函数

yuanyxh

js #前端

AI耳机成智能硬件布局入口产品 科大讯飞无线智能耳机率先突围

科技热闻

upload 组件封装

yuanyxh

js 上传 #前端

深度解析 MintRich 独特的价格曲线机制玩法

NFT Research

web3 NFT\

物流数字化:低代码推进供应链数字化进程

不在线第一只蜗牛

低代码 数字化 供应链 物流

ES6 新特性详解 - let/const

yuanyxh

js ES6 ES5 #前端

ES6 新特性详解 - 类

yuanyxh

js #前端

Rails 1.2性能不如1.1?_Ruby_Sebastien Auvray_InfoQ精选文章