2009-01-08 51 views

回答

3

也許你會更好用Lua,它有一個非常小但功能強大的虛擬機,內置了自己的垃圾回收器,並且可以在任何支持ANSI標準C的平臺上運行。只需一點點努力,甚至在沒有標準輸入和標準輸出的機器上構建Lua。我看到Lua在嵌入式設備上運行,它是small LCD touch screen with an embedded CPU stuck on the back。 Neko是很好的工作,但我認爲你會發現Lua每一點都令人滿意。

+0

我知道,Lua有它自己的垃圾收集器,但如果你看看NekoVM他們使用libgc和不像Lua GC,因爲它不是很好作爲libgc。我正在尋找像libgc這樣的通用GC,我可以在nekoVM上取代 – 2009-01-08 20:44:04

+0

漢斯已經花了超過20年的時間改進了libgc。期望找到高性能收集器的替代品是不現實的。在小型設備上期望高性能的GC也是不明智的。你的問題要求'像NekoVM這樣的虛擬機'。 Lua有資格。 – 2009-01-08 21:26:43

+2

漢斯可能花了20多年時間改進libgc,但與最精確的垃圾收集器相比,其性能非常糟糕。 – 2010-09-25 11:48:39

2

爲了支持這一點,有一個VMKit(LLVM)演示文稿,他們將Boehm GC作爲probable bottleneck進行演示。

3

我可以建議TinyGC(tinygc.sf.net) - BoehmGC針對小型設備的獨立輕量級實現。它與BoehmGC v7 +完全兼容API(甚至更多,二進制兼容),但只實現了API的一小部分(但足以執行類似Java/GCJ的內存管理),並且沒有自動線程和靜態數據根註冊。但是,後者可能需要一些努力才能使NekoVM能夠使用它(即,調用GC_register_my_thread()和GC_add_roots())。

1

我的建議是爲Neko編寫一個準確的GC(如果還不存在的話)。我不會碰Boehm的GC與駁船杆...

相關問題