作者:Werner Schuster译者 赵斯思 来源:InfoQ 酷勤网收集 2008-09-17
摘要
使用线程模拟纤程通常占用更多的资源,带来跟多内存使用和调度开销。但是,NeverBlock池化使用(pool)纤程,这样应该能限制修回版本在性能上带来的冲击。JRuby使用了一个类似的方法来为其Ruby 1.9支持提供纤程(GitHub资料库中JRuby的纤程实现)。
使用线程模拟纤程通常占用更多的资源,带来跟多内存使用和调度开销。但是,NeverBlock池化使用(pool)纤程,这样应该能限制修回版本在性能上带来的冲击。JRuby使用了一个类似的方法来为其Ruby 1.9支持提供纤程(GitHub资料库中JRuby的纤程实现)。JRuby的纤程实现也将纤程映射为线程,与“Poor Man's Fibers”具有相似的性能特点。NeverBlock的创始人之一——Muhammed比较了纤程的开销和线程的开销,发现Ruby 1.9的纤程耗费少得多的内存,而创建速度也快得多。
NeverBlock新版本的另一个特性是它内建对Rails的支持
端到端的对Ruby and Rails框架的无缝支持。像增加一行到database.yml文件和增加两行到environment.rb文件一样容易添加对Rails的支持。链接文章包含更多关于添加对不同服务器和数据库支持的信息。
纤程引发更多关注,Ruby 1.9.1趋于稳定,您是否已经考虑使用使用纤程?
查看英文原文:Fibers Roundup: NeverBlock Now Rails Compatible, "Poor Man's" Fibers For 1.8
来自:http://www.infoq.com/cn/news/2008/09/poormansfibers-rails-neverblock

