2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Ruby VM 综述:MacRuby 0.8、Rubinius 1.2、MRI 1.8.7 及 1.9.2 更新

  • 2010-12-29
  • 本文字数:890 字

    阅读完需:约 3 分钟

目前,Ruby VM 正以稳健的步伐前进着,前几周又有很多新发布。

近日, Rubinius 1.2 发布了,在内存效率与调试方面带来了很多改进。Evan Phoenix详细介绍了 Rubinius 1.2 的众多改变,比如每个对象的内存使用等:

我们集中精力改进每个对象的内存使用。特别是对象如何在内存中存储其实例变量。由于 Ruby 并不需要声明实例变量,因此建模实例变量最简单的方式就是使用散列。这正是 Rubinius 过去的做法。问题出在拥有少量实例变量的类上。在这种情况下,散列表的尺寸就变得很重要了,为了存储一个字(4 或 8 个字节),就需要使用 100 个字节的内存。 新的代码基于对类的一个很容易观察到的假设,换句话说,在创建类的实例前它会定义好绝大多数方法(通常是所有方法)。我们在创建好类的一个实例后就运行一些代码,它会查找该实例可用的所有方法。这意味着所有方法都定义在类本身、父类以及混合在模块中。我们通过这些方法构建出他们所用的所有的实例变量表。

现在,我们可以很清楚地计算出这个类的实例到底需要占据多少内存,这样就可以将实例变量存储到内存中而无需散列表了。通过这种方式,内存的使用从 100 个字节下降到了 8 个字节(在 64 位机器上)。

长久以来,Rubinius 一直拥有一个强大的 Debugger API,现在 Rubinius 1.2 增加了 ruby-debug 支持。调试内存使用或内存泄漏问题是由堆转储特性所支持的,可以使用 Rubinius::VM.dump_heap("/path/to/file") 实现。创建堆转储的另外一种方式是使用 Rubinius 的另一个特性:Query Agent,监测工具可以凭借它访问 Rubinius 信息并触发某些动作。

MacRuby 0.8 也于近日发布了,主要改进了稳定性与兼容性问题。该项目现在集中于 1.0 版的发布:

从现在开始,我们的发布频率要比以前快很多。我们希望用户能够更频繁地测试 MacRuby 并报告更多的 Bug。 然而,我们并不期望在随后的发布中引入重要的特性,因为现在我们都将精力放在了稳定性和兼容性问题上了。

最后,旧版与新版的 MRI 都发布了补丁版本: MRI 1.8.7 with p330 以及 1.9.2 with p136,后者是暨 1.9.2 发布之后的首次更新

查看英文原文: Ruby VM Roundup: MacRuby 0.8, Rubinius 1.2, MRI 1.8.7 and 1.9.2 Updates

2010-12-29 09:281200
用户头像

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

关注

评论

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

AI技术在招聘面试中的应用

北京木奇移动技术有限公司

AI招聘 软件外包公司 AI技术应用

AI编程在BOSS项目的实践经验分享

智在碧得

AI

2025年Solana生态如何从以太坊高速替代方案成长为成熟的基础设施

TechubNews

数据驱动增长的第一步:埋点系统如何让行为数据真正"动"起来?

ClkLog

开源 埋点 用户行为分析 开源软件 画像

架构分享|三层存储架构加速云端大模型推理

Alluxio

人工智能 机器学习 AI 模型推理 LLM

论文解读 - 统一的多模态理解和生成模型综述(下)

合合技术团队

人工智能 算法 #大数据

教堂LED背景屏幕:点亮信仰,

Dylan

科技 LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

水电站使用堡垒机必要性简单分析看这里!

行云管家

网络安全 堡垒机 运维安全

Qt开发麒麟Linux桌面应用程序的流程

北京木奇移动技术有限公司

麒麟操作系统 软件外包公司 QT软件外包

智能问数技术路径对比:NL2SQL vs NL2Semantic2SQL

Aloudata

agent NL2SQL ChatBI 智能问数

智谱携手和鲸重磅发布AI教育白皮书,南大南开专家经验分享

ModelWhale

AI教育 南京大学 南开大学 智谱

【HarmonyOS 5开发入门】DevEco Studio安装配置完全指南

颜颜yan_

鸿蒙 HarmonyOS NEXT Harmony5

Qt开发macOS应用程序的流程

北京木奇移动技术有限公司

软件外包公司 QT开发公司 QT外包

对 AI Agent 定义的一些探讨

Baihai IDP

AI 智能体 AI Agent

Flink x Paimon 在抖音集团生活服务的落地实践

Apache Flink

flink

探索TiDB数据库:WordPress在分布式数据库上的部署实践

TiDB 社区干货传送门

TiDB第四届征文-运维开发之旅

当 Layer2 走向应用链:Mint 构筑多元 NFT 生态

NFT Research

web3、

鸿蒙OS的桌面应用开发

北京木奇移动技术有限公司

APP开发 软件外包公司 鸿蒙系统开发

霍格沃兹测试开发学社“教·学·练·赛”高校软件测试实训平台

测试人

软件测试

从需求到复盘,领歌如何驱动银行经营贷项目全流程敏捷落地?

云端拾光

团队协作 敏捷工具 看板工具

介绍一下这只小水獭 —— Fluss Logo 背后的故事

Apache Flink

大数据 flink 实时计算 Fluss

Alluxio Enterprise AI 3.6加速模型分发、优化checkpoint写入并增强多租户支持

Alluxio

AI 数据加速 模型分发

WiFi万能钥匙鲲鹏服务器部署 TiDB 集群实战指南

TiDB 社区干货传送门

管理与运维 安装 & 部署 扩/缩容 应用适配

OpenTelemetry × Elastic Observability 系列(一):整体架构介绍

Se7en

基于YOLOv8的6种金属表面缺陷检测识别项目【完整源码数据集+PyQt5界面+完整训练流程+开箱即用!】

申公豹

yolov8

HarmonyOS实战:腾讯IM之聊天详情页面搭建(二)

IT小码哥

harmoyos 鸿蒙 os

QT桌面客户端在Linux下的开发流程

北京木奇移动技术有限公司

Linux 软件外包公司 QT开发

1688图片搜索API秘籍! 轻松获取相似商品数据

tbapi

1688API 1688图片搜索接口 1688图片搜索API 1688拍立淘api

HPE推出全新分布式服务交换机及有线无线产品组合,全面赋能AI与高性能计算需求

科技热闻

合合信息首批通过中国信通院文档图像篡改检测平台能力完备性测评

合合技术团队

人工智能 算法 #大数据

DistilQwen-ThoughtX:变长思维链推理模型,超越DeepSeek蒸馏模型

阿里云大数据AI技术

人工智能 数据分析 数据集 大模型 DistilQwen2.5

Ruby VM综述:MacRuby 0.8、Rubinius 1.2、MRI 1.8.7及1.9.2更新_Ruby_Werner Schuster_InfoQ精选文章