NeverBlock 介绍
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的支持
NeverBlock 官网
http://www.espace.com.eg/neverblock
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。