在版本2.2中是否已从Ruby中删除了Global Interpreter Lock(GIL)?

时间:2015-02-03 20:43:37

标签: ruby

有人提到它已被删除,但我无法在网上找到任何引用。

任何人都可以指出一些可靠的文档吗?

2 个答案:

答案 0 :(得分:8)

它还没有。证明否定可能是棘手的,尽管这将是一个相当大的变化,在发行说明中没有提到。它也很容易看到GIL相关的apis(rb_thread_blocking_function等仍然存在)

此外,post to ruby-core最近询问了GIL免费红宝石取得了哪些进展,答案是"没有"

答案 1 :(得分:4)

GIL仍然存在,也许你正在考虑垃圾收集的变化。以下是自2.1以来的变化:

  
      
  • 增量GC(RubyConf 2014上的演示文稿:“Ruby解释器的增量GC”)
  •   
  • Symbol GC(RubyKaigi 2014上的演示文稿)
  •   
  • configure -with-jemalloc功能#9113核心库:支持
  •   
  • Unicode 7.0#9092新方法:可枚举#slice_after#9071,
  •   
  • 可数#slice_when#9826 Float#next_float,Float#prev_float#9834
  •   
  • File.birthtime,File#birthtime#9647 String#unicode_normalize#10084
  •   
  • 捆绑图书馆:   
        
    • 更新Psych 2.0.8
    •   
    • 更新Rake 10.4.2
    •   
    • 更新RDoc 4.2.0
    •   
    • 更新RubyGems 2.4.5
    •   
    • 更新测试单元3.0.8(从存储库中删除但捆绑在tarball中)
    •   
    • 更新minitest 5.4.3(从存储库中删除但捆绑在tarball中)
    •   
    • 弃用mathn
    •   
  •   
  • C API   
        
    • 删除已弃用的API
    •   
  •   

https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/