BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

纤程简报:NeverBlock与Rails兼容,使用“Poor Man's”纤程库以支持Ruby 1.8

| 作者 Werner Schuster 关注 6 他的粉丝 ,译者 赵斯思 关注 0 他的粉丝 发布于 2008年9月17日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。
NeverBlock是一个使用Ruby纤程进行异步数据库访问的库。在此之前,对纤程的使用意味着NeverBlock只能在Ruby 1.9上运行。新发布的NeverBlock使用纤程功能的修回版本(backport)以解决这个问题。Aman Gupta 最近发布了一个叫做“Poor Man's Fibers”的基于Ruby线程的纤程实现在NeverBlock Github存储库中的纤程实现)。

使用线程模拟纤程通常占用更多的资源,带来跟多内存使用和调度开销。但是,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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT