gpt4 book ai didi

ruby - 哪些版本的 ruby​​ 提高了外部迭代器的速度?

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:16 24 4
gpt4 key购买 nike

根据 this rubyquiz ,外部迭代器过去很慢,但现在更快了。这是仅在 YARV(ruby 1.9 的基于 C 的实现)中可用的改进,还是在 ruby​​ 1.8.7 的基于 C 的实现中也可用?

此外,enum_for 是否依赖于外部迭代器?

最佳答案

Ruby 1.9 使用纤程来实现 Enumerator#next,这可能比 Ruby 1.8 更好,但调用起来仍然很昂贵。

enum_for 返回一个 Enumerator 但不依赖于外部迭代器。只有在需要时才会创建纤程/延续,即如果您调用 next 但如果您调用 each 或从 Enumerable 继承的任何其他方法则不会.

Rubinius 和 JRuby 正在为内置类型优化 next,因为它很难实现,尤其是在 JVM 上。有趣的睡前阅读:this thread on ruby-core

关于ruby - 哪些版本的 ruby​​ 提高了外部迭代器的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com