YARV的一則報導
Categories:General
〈未踏ソフトウェア創造事業 千葉PM 成果報告会 - Ruby 2.0の新仮想マシンYARVとは?〉內容報導、介紹將會在Ruby 2.0採用的虛擬機器(VM, virtual machine) YARV: Yet Another Ruby VM。
之前有和YARV作者笹田耕一在IRC上聊過,感覺是個很爽朗的人,而今天還是因為這篇報導才得見尊容。
從這篇報導來看,可以整理出幾個重點:
- 真正讓Ruby躍上大型專案開發工具舞台的是Ruby on Rails這套web framework,但是與其它一些scripting languages相比,Ruby在處理速度上的弱勢就漸漸顯露出來。
- YARV擬以虛擬機器的解決方案來改善這個弱點,將Ruby程式碼轉化為YARV的“機器碼”以達到加速作用(道理非常類似Java語言)。在不同的場合下會有2倍甚至50倍的效能表現。
- 為了要讓YARV和Ruby“合作愉快”,讓YARV直接納入Ruby內部的統合工作很重要。讓我很佩服笹田的胸懷是他曾經講過:「YARV的"名字"不重要,倘若這個計畫成功,它將會是Rite (也就是Ruby 2.0)的一部份;反之如果它失敗了,也沒人會去記得YARV這個東西。」讓我想起了作為改善Linux中文環境的整合計畫先鋒CLE,其願望是「CLE最大的目的就是讓自己消失」這異曲同工的話。
- Ruby採用user level thread雖有利於移植到不同平台,但是在PC日後多核與多重處理器的發展趨勢下,能否發揮其效能卻是個問題。YARV一個發展重點便是要採用native thread。
- 另一個重點是Multi VM化,希望能在一個process上能有多個虛擬機器在跑。這是借鏡於mod_ruby的運作模式,希望能做到減輕系統負荷。
我非常期待Ruby 2.0的到來。不過據說變動會不小。