【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

MacRuby 0.5 将引入基于 LLVM 的 VM,性能提升明显

  • 2009-03-31
  • 本文字数:886 字

    阅读完需:约 3 分钟

MacRuby 0.4 的发布引入了一个全新的图形库,并进行了一些改进,比如线程化 GC。在此之后,下个版本的 MacRuby 的重点将会是性能方面的改进。

有篇博文解释了在一个试验性的 MacRuby 分支上,全新的 VM 采用了 LLVM,从而替换掉了 YARV

全新的 VM 直接将解析器中的抽象源代码树(AST)转换成 LLVM 的中间表示(IR),再将其编译为优化过的机器码。还有大量 的关键性优化业已完成,例如更快的 fixnum 数学运算、缓存的方法分派、零成本的 IA64 异常、更快的实例变量访问、常量缓存、更快的 break/next、更轻量级的本地变量和尾部调用优化等等。

新 VM Roxor 的源代码已经在一个试验性的 SVN 分支之上。compile_node 方法通常会取得 Ruby AST 并转换成 LLVM 指令,这些指令可能是原语,也可能是 Ruby 运行时的调用。

因为 MacRuby 是基于 Ruby 1.9.1 的,引入试验性 VM 或者对 Objective-C 类型的使用等修改可能会导致兼容性问题。为了确保兼容性,MacRuby 集成了 RubySpec(博文中有所提及):

当前的试验性分支已经可能可以通过大部分的语言规格,而这是我们回归测试套件的一个标准部分。我们也一直在更新规格,以便可以跟上 Ruby 1.9 的步伐。

RubySpec 是一个可执行的规格,用于定义 Ruby 实现的行为,最早由 Rubinius 项目所发起。

Antonio Cangiano针对 MacRuby 的试验性版本对一些语言特性进行了评测,与 MRI 和标准 1.9.1 相比,取得了很不错的成绩。在将来的版本中,究竟其性能还能提升多少,目前尚不可知。Antonio 还指出了 MacRuby 的一些优势:

较之 Objective-C 和 Ruby 的混合(例如 RubyCocoa 的桥接),开发者可以使用 MacRuby 来与 Mac OS X 的核心技术相集成,并将其作为 Objective-C 的替换语言。确切地说,Objective-C 的运行时和世代垃圾回收器是 MacRuby 的核心。 但是从 API 的角度来看,开发者可以使用 Ruby 来编写代码,而不是使用更加繁琐和低级的 Objective-C。

考虑到 GUI 程序库长长的列表和 Ruby 的抽象能力,面向 OS X 的开发者可以简洁地使用 MacRuby 来构建应用,并紧密地与 Cocoa 程序库相集成,来代替 Objective-C。

查看英文原文: MacRuby 0.5 Will Have Faster VM Based on LLVM

2009-03-31 01:161329
用户头像

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

关注

评论

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

数据库系统概述之国产数据库

小齐写代码

SVN管理工具:Cornerstone 4 for Mac激活版 支持M1

彩云

Cornerstone 4 cornerstone 4下载

亚马逊云科技基于 Polygon 推出首款 Amazon Managed Blockchain Access,助 Web3 开发人员降低区块链节点运行成本

亚马逊云科技 (Amazon Web Services)

re:Invent Amazon CloudFront

神奇植物在哪里?文心大模型助力一秒读懂花草的“前世今生”

飞桨PaddlePaddle

数据库 大模型 文心大模型 风景园林

三门免费课入门云职场!还包含时下最火的人工智能

科技热闻

2024年1月1日起,你家的护眼台灯可能要换新!

电子信息发烧客

Kmesh内核级流量治理,服务转发性能提升50%+

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 DTSE Tech Talk

Infuse Pro for Mac(专业的视频播放器)v7.6.4激活版

影影绰绰一往直前

机器学习与 S3 相集成 :释放数据的力量

亚马逊云科技 (Amazon Web Services)

机器学习 S3 云存储服务

Native Instruments Kontakt 7 for Mac(强大音频采样器)v7.7.2激活版

影影绰绰一往直前

“抓机遇,促发展”2024亚洲国际人工智能展览会(世亚智博会)

AIOTE智博会

智博会 上海智博会 人工智能展 世亚智博会 北京智博会

云从业者入门仅需三门课?还包含时下最火的机器学习

科技热闻

服务器安全防护措施有哪些?

Geek_f19a80

服务器

SketchUp Pro(草图大师 2023)for Mac 支持M1/M2

彩云

SketchUp Pro 2023 犀牛3D建模软件

语言模型文本处理基石:Tokenizer简明概述

Baihai IDP

人工智能 自然语言处理 程序员 AI 白海科技

Camtasia 2023 for Mac(视频录制和剪辑软件) 2023.3.5中文版

mac

苹果mac Windows软件 屏幕录制软件 视频编辑软件 Camtasia 2023

Nginx配置限流

拾光师

3天面了20个候选人,聊聊我的感受

冰河

程序员 面试 系统架构 架构师 技术提升

零代码AppLink平台基础组件

RestCloud

APPlink

国产数据库来了

小魏写代码

高性能和多级高可用,云原生数据库 GaiaDB 架构设计解析

Baidu AICLOUD

云原生数据库

如何查看数据库正在执行的SQL?

NineData

数据库 sql SQL优化 SQL开发工具 阻塞SQL

语言忠诚?离不开舒适圈?为什么程序员不喜欢更换编程语言?

代码生成器研究

基于阿里云物联网平台的光伏电站智能运维方案

阿里云AIoT

物联网 光伏发电 阿里云; 光伏产业

2023年大数据场景智能运维实践总结

阿里云大数据AI技术

大数据

Downie 4最新版下载 Downie v4.6.34中文版

影影绰绰一往直前

Infuse Pro for Mac(多媒体播放器)v7.6.4激活版

影影绰绰一往直前

INFINI Console 与华为鲲鹏完成产品兼容互认证

极限实验室

console 极限科技 华为鲲鹏认证

360°全方位体验华为云开放技术能力——华为云开发者日苏州站成功举办

华为云开发者联盟

华为云 华为云开发者联盟 华为云开发者日

Axure RP 10 for Mac(交互式原型设计)v10.0.0.3912官方汉化版

影影绰绰一往直前

得物App安卓冷启动优化-Application篇

得物技术

#运维

MacRuby 0.5将引入基于LLVM的VM,性能提升明显_Ruby_Werner Schuster_InfoQ精选文章