最流行的开源动态语言 Ruby,最新版本的更新强化了性能,提高了简介性。
Ruby 2.4.0的预览在这周发布,正式的版本会在圣诞节,12月25日发布,之前将会发布一个beta版本来测试稳定性。据Ruby创始人松本行弘称。
Preview 1中,通过优化[x,y].max和.min方法提供了性能。优化后的版本不再需要创建一个临时的数组。此语言还通过增加了一个正则匹配方法Regxp来提高性能——不再需要产生一个对象来执行匹配,从而减少了对象分配。Regxp使用了常规的表达式用正则去匹配字符串。2.4.0版本还加速了实例变量的存取。
Ruby 2.4.0通过统一Fixnum和Bignum整数类进行了简化。“在Ruby的开发早期,我继承了Lisp和Smalltalk的整数类的实现方法,”松本行弘说。“Lisp有Fixnum和Bignum,Smalltalk有SmallInteger和Biginteger.但是二十年的经验告诉我们,对整数大小的区分是人为的,而且是不必要的。”
在debug方面,死锁的检测得到了加强。在发布的 公告 中提到,“Ruby对等待线程有死锁检测功能,但是并没有报告足够的信息。Ruby 2.4的检测会报告线程的栈回退和唤醒线程。”
同时,在2.4.0版本中,String/Symbol#upcase/downcase/swapcase/capitalize(!) 这些方法支持Unicode匹配了,而不仅仅是ASCII匹配。“当初我们想要在Ruby中加入Unicode支持时,Unicode并不流行。所以在和专家讨论过后——包括Unicode协会成员 Tim bary(XML的联合创始人) ——我们决定让这些方法只支持ASCII。”松本行弘说,“但是几年之后,所有人都开始使用Unicode了,特别是在网络方面。现在的情况下,使用非ASCII的字符更适合编程。”
原文: The end of BigLittle: Ruby unifies integer classes
作者: Paul Krill
翻译: 赖信涛
责编: 钱曙光