写点什么

Ruby 性能近况:GC 调优、Maglev 和 MacRuby

  • 2009-04-18
  • 本文字数:830 字

    阅读完需:约 3 分钟

Ruby 1.8 中的垃圾回收器在去年受到了广泛的关注。Ruby 企业版(REE)的开发者们对 GC 进行了修改,实现了进程间的内存共享(详见 InfoQ 对创建者的采访)。REE 已经成为部署和运行 Rails 应用的普遍方式,包括 37Signals 在内的很多实践者都在使用它。最近, REE 中的 GC 有所改进,修正了一些 bug ,解决突发的冻结问题。

标准 Ruby1.8.x 的用户很快也可以受益于 MBAPI 补丁,这一补丁修正了许多 GC 问题及其相关的内存泄露问题,目前 MBAPI 由 EngineYard 提供赞助。

Evan Weaver 提供了 GC 调优小贴士,并推荐了一些可以监控 GC 的补丁。调优的结果如下:

目前每 13 个请求 GC 就会运行一次,代价有些高,每个请求需要耗费 0.009 秒。这意味着可以快上个 34% 左右。GC 调用频次与 RUBY_GC_MALLOC_LIMIT 的设置直接相关,但是如果我们将这个值设得再高一些,内存使用量就像吹气球那样爆掉了。

提高性能的另一个方法是寻求其他的 Ruby 实现,比如得益于现代 JVM 中成熟 GC 的 JRuby。其他的 Ruby 实现也将性能的提升作为主要的目标。Rubinius 正在稳步发展,而 MacRuby最近在它的实验分支上也有新的进展,性能上有所提升。实验分支上的工作正在进行中

  • 这个编译器现在能(据我所知)通过所有的语言规格,所以我猜它现在算是基本完成了。[…]
  • 由于以上种种,IRB 现在运行得不错!

更多改进

  • 引入了尾部调用消除。这一优化将递归调用转换成本地回路,这样可以防止栈溢出。[…]
  • 为了更快解释#eval 表达式,研究了 LLVM IR 解释器。研究结果已经提交,在简单表达式上工作得非常不错。不过缺省情况下不会激活这一功能,这是受调用 VM 基元的限制所致。我们将不得不稍微修改一下 LLVM 解释器,让它可以完全使用。这将在不远的将来实现。

最后,GemStone 的 Ruby 实现 MagLev 正在进行内部的 Alpha 版测试,Beta 版将于 Q2 推出。现在,兼容性(RubySpec)和基准测试结果在MagLev 的网站上已经公布。 Twitter 上也同步更新项目进展。

查看英文原文: Ruby Performance Roundup: GC Tuning, MagLev, MacRuby

2009-04-18 05:241899
用户头像

发布了 80 篇内容, 共 20.1 次阅读, 收获喜欢 5 次。

关注

评论

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

【C语言】else 语句

謓泽

11月月更

应用发布新版本如何保障流量无损

阿里巴巴云原生

阿里云 微服务 云原生

EventBridge助力阿里云视觉智能开放平台AI智能存储实践

Apache RocketMQ

AI 消息队列 EventBridge

数据中心的能源之翼:华为数据中心能源与伙伴共同飞翔

脑极体

RocketMQ 在物流行业的应用与运维

Apache RocketMQ

RocketMQ 消息队列 Apache RocketMQ

区块链基础知识介绍及dapp简单介绍

W13902449729

区块链 dapp

模块五-作业

Weldon

架构实战营

数据分析的步骤

穿过生命散发芬芳

数据分析 11月月更

用python写一个时钟模型

乔乔

11月月更

AI音乐创作,让每一个人都成为音乐家

叶落便知秋

泛型由入门到精通

好程序员IT教育

Vue插件(plugin)

Augus

vue.js 11月月更

一篇文章彻底理解数据库的各种超时参数

明哥的IT随笔

数据库 JDBC

洞见科技中标安康市数据要素流通平台(隐私计算平台)建设项目

洞见科技

昇腾AI异构计算架构CANN 6.0全新开放升级,全面释放AI生产力

Geek_2d6073

几分钟实现对恶意IP地址进行拦截,腾讯云Web防火墙实在太香了!

wljslmz

腾讯云 Web应用防火墙 黑名单 11月月更

创建一个科学决策必备的A/B实验,都需要哪些准备?——火山引擎 DataTester 使用指南

字节跳动数据平台

大数据 A/B测试

数据报告 | 2022年双十一变化趋势分析报告

前嗅大数据

双十一 数据报告 电商报告

网址访问速度免费加速教程:又拍云cdn

程序员余白

网页加速 CDN加速 11月月更

【活动报名】11月19日 | AI GC 的技术与应用构建

亚马逊云科技 (Amazon Web Services)

人工智能 机器学习

什么是区块链Dapp智能合约系统开发?

W13902449729

区块链 dapp开发

洞见科技中标浙江农商联合银行「隐私计算平台」项目

洞见科技

专访吴静涛丨从未有人把金融信创挑战说的这么透彻!

通明湖

现代API的类型划分

阿泽🧸

API 11月月更

【spring-kafka】@KafkaListener详解与使用

石臻臻的杂货铺

kafka 11月月更

实践竞争力第一!洞见科技获评艾瑞咨询隐私计算金融市场「综合领导者」

洞见科技

阿里云研究员马涛:龙蜥社区做对了两件事

云布道师

开源 云栖大会 龙蜥社区

Apache Doris 1.1.4 版本正式发布!

SelectDB

数据库 大数据 数据仓库 Doris LTS

KUMU×微帧科技,为菲律宾独角兽提供编码API服务

微帧Visionular

Java Web(四)JS

浅辄

javaWeb JavaScrip 11月月更

阿里CTO程立:首个全面深度用云的天猫双11,更敏捷、更经济、更绿色

阿里技术

云计算 severless

Ruby性能近况:GC调优、Maglev和MacRuby_Ruby_Werner Schuster_InfoQ精选文章