写点什么

Ruby 性能综述:Ruby 1.9.1 在实际应用中的性能、GC vs EventMachine 及 Ruby 编译器

  • 2009-05-12
  • 本文字数:738 字

    阅读完需:约 2 分钟

使用 Ruby 1.9.1 的一个重要原因就是其显著提高的性能。新的基准结果来自于现有的应用并比较了 1.8.x、JRuby 及 1.9.1

我们将 Acunote(在线的企业项目管理和 Scrum 软件)移植到了 JRuby 和 Ruby 1.9 上并运行了性能基准测试集。

Ruby 1.9.1 和 JRuby 的性能都大大超越了 1.8.6,而 1.9.1 又领先于 JRuby,虽然我们可以通过一些命令行参数来改进 JRuby 的性能,但实际情况差不多如此。

1.9.1 的性能改进不仅仅来自于更快的 VM,一些新特性也起到了很大的作用。 Muhammed Ali 向我们展示了如何通过 Ruby 1.9.1 的 Fibers 来度量 Web 应用。另一方面,Muhammed 还指出了 1.9.1 中的 Object#extend 所导致的内存泄漏问题

与此同时,1.8.6 仍旧是某些项目的不二之选,这是由于1.9.1 缺少了一些库的支持。由于这个原因,很多人热衷于修复1.8.6 的某些瓶颈。 Joe Damato 在其博客上发表了一些文章谈到了这些问题。比如,他谈到了–enable-pthread 背后的事情以及为何禁用该设定会提升30% 的性能。在另一篇文章中,Joe 和 Aman Gupta 探索了 Ruby GC 的一个问题并给出了一个小修复来解决 GC 和 EventMachine 的问题:

* 由于极大地降低了 stack frame 的大小,因此将 GC 的速度提升了 2、3 倍。 * 修复了 EventMachine 中的一个公开 bug——通过 Epoll 来使用线程会极大地降低应用的速度。其原因是每个线程都会继承一个~800,000 字节的 stack,每次上下文切换时都会对其进行复制。

* 在使用 Sinatra+Thin+Epoll+Threads 时会将请求数从每秒 500 个提升到 7000 个,太爽了。

最后, Viktor Hokstad 正在撰写一系列文章讲述如何编写 Ruby 编译器。最近的一篇谈到了怎样才能让Ruby 更快

查看英文原文: Ruby Performance Roundup: Ruby 1.9.1 Real World Performance, GC vs EventMachine, Ruby Compiler

2009-05-12 20:592433
用户头像

发布了 88 篇内容, 共 253.7 次阅读, 收获喜欢 6 次。

关注

评论

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

nodejs 异步I/O和事件驱动

编程江湖

nodejs

一文了解区块链如何帮助打击虚假信息

CECBC

网络安全好学吗?基础入门篇,NMAP高级使用技巧和漏洞扫描发现

学神来啦

网络安全 渗透测试 kali基础 nmap kali Linux

书单 | 学习数据可视化?看这些书就够了!

博文视点Broadview

作业4

施正威

千万级HTTP CPS的压力测试仪是怎么设计的?

ArtNowBen

性能测试 LVS 压力测试 DPDK DPVS

What's new in dubbo-go-pixiu 0.4.0

apache/dubbo-go

SpringMVC框架基础知识(03)

海拥(haiyong.site)

28天写作 1月月更

作业5

施正威

spring源码搭建

派大星

Spring5源码解析

敏感信息打码就安全了吗?

恒生LIGHT云社区

信息安全

智慧巨鹿使用Rainbond落地实践,一个平台管理所有应用系统

北京好雨科技有限公司

想知道LVS的性能吗?

ArtNowBen

性能测试 LVS 压力测试 DPDK DPVS

功能十分全面的项目管理工具(文档协作、项目计划、文件管理等)

优秀

项目管理 项目管理工具

恒源云(GPUSHARE)_云GPU服务器如何使用LightGBM?

恒源云

人工智能 算力 框架学习

牛掰,在IDEA中,你可以安装小傅哥写的插件了!

小傅哥

小傅哥 idea插件 vo2dto转换插件开发 idea plugin 代码织入

荣获中国专利金奖!百度连续四年AI专利申请和授予量全国第一

百度开发者中心

人工智能 AI

SphereEx 完成近千万美元 Pre-A 轮融资,加速构建新一代数据库生态引擎

SphereEx

开源 融资 ShardingSphere SphereEx 嘉御资本

数字化转型失败,有哪些原因?

禅道项目管理

数字化转型

带你认识7种云化测试武器

华为云开发者联盟

测试 接口测试 华为云DevCloud 云化测试 Mock 服务

TDengine在上海电气储能智慧运维系统中的应用

TDengine

数据库 大数据 tdengine

一文整理区块链技术为企业带来的九大好处

CECBC

「自我检验」熬夜总结50个Vue知识点,全都会你就是神!!!

Sunshine_Lin

面试 Vue 前端 进阶 ES6

百分点数据科学实验室:零售行业新店品类配比测算方案

百分点科技技术团队

《JavaScript基础入门》环境搭建

IT蜗壳-Tango

IT蜗壳教学 1月月更

dperf: 一款基于DPDK的千万级HTTP CPS的开源网络压力测试仪

ArtNowBen

性能测试 LVS DPDK 压力测试仪 DPVS

科技驱动经济发展的时代全面到来

CECBC

Ruby性能综述:Ruby 1.9.1在实际应用中的性能、GC vs EventMachine及Ruby编译器_Ruby_Werner Schuster_InfoQ精选文章