2010-06-17 17 views

回答

2

Ruby 1.9使用光纖來實現Enumerator#next,這可能比Ruby 1.8更好,但仍然使得昂貴的調用成爲可能。

enum_for返回Enumerator但不依賴外部迭代器。只有在需要時纔會創建光纖/延續,例如,如果您撥打next,而不是撥打each或從Enumerable繼承的任何其他方法,則不會。

Rubinius和JRuby正在爲內建類型優化next,因爲它很難實現,特別是在JVM上。有趣的睡前閱讀:this thread on ruby-core

0

Rubinius也有一些主要的性能增強,但它是一個Ruby 1.8的實現,而不是1.9。