複製鏈接
請複製以下鏈接發送給好友

Rubinius

鎖定
Rubinius是一個主要用Ruby語言實現的Ruby虛擬機
外文名
Rubinius
定    義
主要用Ruby語言實現的Ruby虛擬機
Rubinius,它的底層實現包括少量C,不過這部分也會在將來用Ruby來重寫。
·・它是基於字節碼的,這意味着它能夠很好的解決性能問題。
・它是可插拔的,架構非常的乾淨,這意味着諸如垃圾回收和對象內存等問題,能夠轉換使用另一種算法。
・它被設計成線程安全的(儘管還沒有達到真正的線程安全),並能支持多個虛擬機
・它可以與現有的MRI擴展一起工作。
・大部分的代碼用Ruby編寫。
・它能夠給你直接從Ruby代碼,訪問所有內部結構的能力(比如MethodContexts/BlockContexts等)。
・這個項目使用Valgrind(一套調試、分析Linux程序的工具)來保證編寫的C代碼萬無一失。
Rubinius正在贏得越來越多的支持,許多Ruby VM的開發者都堅信它前途不可限量。
理由之一是它的模塊化設計及其展現內部結構的方式。對於新上手的開發人員而言,Rubinius的內省機制(introspection)是一項很體貼的設計。在Ruby中,我們已經可以很方便得通過諸如obj.methods(返回obj的方法列表)的方式觀察Ruby類。而Rubinius則做得更上一層樓,你甚至可以訪問代表代碼數據結構的抽象語法樹(Abstract Syntax Tree,AST)。Rubinius使用ParseTree,通過標記和嵌套列表展現其結構。