2010-10-23 27 views
7

我剛纔看到有一個名爲Cardinal的編譯器編譯爲Parrot,它可以創建代碼在Parrot上運行,這是一個可以運行字節碼的虛擬機。 Ruby或任何語言的性能如何編譯並在那裏運行,因爲例如Ruby可能沒有預編譯的字節碼。它可以更快運行在Parrot? Python可能會更好地運行,因爲它具有.pyc。Ruby或其他語言在Parrot上跑得更快嗎?

+1

JRuby是服用同樣的方法,將Ruby編譯爲Java字節碼。 – Thilo 2010-10-23 02:55:44

回答

4

Parrot開發尚未集中優化。路線圖始終將其列爲版本3或4(Parrot目前版本爲2.9)。

一個大的重構分支,其中包括取出JIT並將其替換爲一個新的分支(參考:Lorito & JITRewrite)。

這個成果應該開始顯示爲鸚鵡3.0的一部分,我認爲這將在明年春天到期。


更新

一個可能roadmap已經貼在他blog鸚鵡開發。這裏是什麼,他認爲在未來3年可能的總結:

  • 3.0 - 新的垃圾收集器
  • 3.3 - 洛裏託原型
  • 4.0 - 新對象的元模型
  • 5.0 - 新的JIT
  • 6.0 - 新的併發系統

/I3az/

1

編輯:我在看newer ones are available的舊結果。從最新的基準測試來看,鸚鵡在一些測試中擊敗了vanilla vm,但在其他測試中速度較慢。一些測試甚至無法完成。

yarv是紅寶石性能的傳手王。

+1

「新」結果是從2007年? : -/ – 2010-10-23 20:52:16

+1

我會承認它有改進的餘地。 – SingleNegationElimination 2010-10-23 22:02:40