Ruby 2.6.0功能预览增加JIT编译器,官方还预告将支援Visual Studio
2018-06-04 18:53:35 | 来源:ithome | 投稿:小艾 | 编辑:dations

原标题:Ruby 2.6.0功能预览增加JIT编译器,官方还预告将支援Visual Studio

Ruby释出2.6.0版本第二预览版,官方提到,这次的第二预览版释出的时程比过去都还早,因为包含了重要的功能更新JIT(Just-In-Time)编译器,另外,除了部分语法更新外,在效能上也有提升。

Ruby在2.6版本将首次实作JIT编译器,但这个版本目前仅为测试用,没有太多最佳化,在程式语言方面,也只初步为JIT基础架构做准备。官方表示,提供JIT编译器的目的,在于提高Ruby应用程序的执行效能,而与其他语言的JIT编译器不同,Ruby会先输出C语言程式码,再由常用的C语言编译器来生成原生程式码,这是比较特殊的JIT编译方法。

官方表示,现在这个JIT编译器功能还处在非常早期的阶段,仅是提供一个测试的版本,让开发者检查在自家环境是否适用,并发现可能存在的安全性风险,而且目前也仅在Ruby以Gcc或是Clang建置,并且编译器在Runtime可用时才支援JIT编译器。

在Ruby△2.6.0第二预览版仅在就JIT编译器基础架构做准备,并没有做太多的最佳化,开发者可以对这个版本做一些效能测试,但不要将其做为最终的效能表现,尤其是像Rails应用程序。未来还会在JIT编译器中实现iniling方法,预期将会增加Ruby应用程序效能。

在效能方面,Proc#call效率获得提升,官方提到他们不再需要在意$SAFE,效能因此提升约略1.4倍,另外,block.call也执行的更快了,除了在Ruby△2.5时提升了block传递参数的速度,更在2.6中改进了block△calling的传递效能,因此官方表示,block.call整体效能改进约为之前的2.6倍。

这个版本增加了实验性功能RubyVM::AST,这个模组具有解析的功能,能将给定的Ruby程式码字串转为抽象语法树(Abstract△Syntax△Tree,AST)节点,而parse_file方法将能解析给定的Ruby程式码档案,同样回传AST节点。由于这功能是实验性质,官方不保证AST节点结构的相容性。

官方也预告,Ruby持续增加平台支援,而下一个计划将会支援Visual△Studio。

tags:

上一篇  下一篇

相关:

苹果更新macOS与iOS等平台,新增Messages in iCloud功能

用户可以前往“设定”-“你的姓名”-“iCloud”中打开Messages。 图片来源: Apple 苹果于上周释出了新版的macOS、iOS、watchOS与tvOS,虽然此次更新的主要目的是修补这些平台的安全漏洞,但同时苹果也在macOS与iOS

脸书将终止“趋势话题”功能

图片来源: Facebook 为了避免假新闻或操纵新闻的争议,脸书(Facebook)上周宣布将自本周移除“趋势话题”(Trending)的功能,未来将会增加更多由新闻媒体提供的内容。趋势话题是脸书2014年推出帮用户归纳最热门主题

多伦多大学用对抗学习打造“隐私滤镜”,不让脸部分辨功能认出你

多伦多大学研究员开发的“隐私滤镜”可以破坏脸部识别演算法。研究员利用两套神经网络,第一套负责脸部分辨,第二套负责扰乱第一套脸部分辨的任务。 图片来源: Avishek△Bose和Parham△Aarabi 来自多伦多大学电子电

Azure Blob储存开始正式支援Soft Delete功能,即使误删快照资料也能复原

前阵子Azure△Blob及Azure△Queue整合Azure△AD,开始支援RBAC功能,简化企业管理资料存取的任务。而这一次,微软Azure储存服务又有正式功能上线,Azure△Blob储存体的Soft△Delete功能,现在已经推出了正式版本,微

盗用官方标章的机上盒太泛滥,FCC要Amazon与eBay管一管

示意图,与新闻事件无关。 图片来源: Amazon 美国联邦通讯委员会(Federal△Communications△Commission,FCC)在上周寄出一封公开信给eBay执行长Devin△Wenig与Amazon执行长Jeff△Bezos,要求这两者业者协助移除站

站长推荐: