XRuby 0.3.1发布了
程序员文章站
2022-03-11 10:49:40
...
XRuby发布总是一件快乐的事,尤其是有比较大的进步时。
在这个版本中,XRuby带来标准库的预编译,这意味着今后执行那些标准库直接就是加载编译之后的字节码,而无需再次编译,这样的做法对于提升运行时效率是有好处的。
有一个与编译相关的话题。之前,Jon Tirsen曾经谈到JRuby的一个问题,运行在AppServer中会有占用太多内存。经过分析得知,为了提高程序的并发性,程序运行会启动多个 JRuby。每个JRuby解析Ruby脚本都会建立一棵完整的语法树,这就意味着,由于这种解析模式本身的限制,对于同样的内容,内存中需要保存多份相同的语法树,这种做法意味着无谓的耗用了大量的内存。采用编译的做法,则可以很好的避免这个问题。因为在运行时,相同的是字节码,而JVM很好的帮我们解决字节码共享问题,无需耗用大量的内存。
从0.3.0起步的Annotation,在这个版本基本上完成了builtin的移植工作,这个工作完成使得XRuby的代码结构看上去更加清晰,消除了一个非常容易产生误解的地方。当然Annotation本身还有许多需要完善的地方。
Ruby Hacking Guide中文版第一部分的发布,可以给更多的人了解Ruby实现的机会。
http://www.iteye.com/topic/126817
如果你想尝试在书中学到的内容,XRuby是一个非常好的机会。欢迎对此有兴趣的人加入我们!
dreamhead
在这个版本中,XRuby带来标准库的预编译,这意味着今后执行那些标准库直接就是加载编译之后的字节码,而无需再次编译,这样的做法对于提升运行时效率是有好处的。
有一个与编译相关的话题。之前,Jon Tirsen曾经谈到JRuby的一个问题,运行在AppServer中会有占用太多内存。经过分析得知,为了提高程序的并发性,程序运行会启动多个 JRuby。每个JRuby解析Ruby脚本都会建立一棵完整的语法树,这就意味着,由于这种解析模式本身的限制,对于同样的内容,内存中需要保存多份相同的语法树,这种做法意味着无谓的耗用了大量的内存。采用编译的做法,则可以很好的避免这个问题。因为在运行时,相同的是字节码,而JVM很好的帮我们解决字节码共享问题,无需耗用大量的内存。
从0.3.0起步的Annotation,在这个版本基本上完成了builtin的移植工作,这个工作完成使得XRuby的代码结构看上去更加清晰,消除了一个非常容易产生误解的地方。当然Annotation本身还有许多需要完善的地方。
Ruby Hacking Guide中文版第一部分的发布,可以给更多的人了解Ruby实现的机会。
http://www.iteye.com/topic/126817
如果你想尝试在书中学到的内容,XRuby是一个非常好的机会。欢迎对此有兴趣的人加入我们!
dreamhead