我想使用像NekoVM這樣的虛擬機進入一個小型設備,但要構建它,它需要Boehm GC,但是沒有那個GC的端口到那個小設備,所以我想知道是否有其他替代方案,這可以完全用C代碼完成?Hans Boehm GC有什麼替代品可用於小型設備?
11
A
回答
4
我想說你最好的選擇是將GC移植到你的平臺上,其中有指令(libgc porting instructions)。
此外,應該可以換出GC實現(NekoVM FAQ),請參閱vm/alloc.c文件。
EDIT:
希望有用的另外的鏈接:(另)
- Smieciuch Garbage Collector
- libgcroots(基於libgc 7,摘要架構依賴比特)
- Squirrel programming language
3
也許你會更好用Lua,它有一個非常小但功能強大的虛擬機,內置了自己的垃圾回收器,並且可以在任何支持ANSI標準C的平臺上運行。只需一點點努力,甚至在沒有標準輸入和標準輸出的機器上構建Lua。我看到Lua在嵌入式設備上運行,它是small LCD touch screen with an embedded CPU stuck on the back。 Neko是很好的工作,但我認爲你會發現Lua每一點都令人滿意。
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與駁船杆...
相關問題
- 1. 什麼是可用的XUL替代品?
- 2. 什麼是WCF的所有可用替代品?
- 3. 什麼是iframe替代品?
- 4. 什麼是APC替代品?
- 5. 用於解碼RSA的Crypto ++的小型Windows替代品?
- 6. 何時將發佈boehm-gc 7.6
- 7. Dave DeLong使用什麼Doxygen替代品?
- 8. ASIHTTP的最佳替代品,替代品或替代品用於下載隊列
- 9. 什麼是ASP.NET移動設備瀏覽器文件的替代品?
- 10. 還有什麼替代方法可用於+ [LSApplicationWorkspace defaultWorkspace]和-allApplications?
- 11. 什麼是Facebook Fans API的替代品?
- 12. 什麼是matlabFunction的好替代品?
- 13. 什麼是UIAccessibilityVoiceOverStatusChanged的替代品
- 14. Selenium webdriver:什麼是browserbot的替代品?
- 15. 什麼是REBASE.EXE的替代品?
- 16. 什麼是Facebook的開源替代品?
- 17. 什麼是Threadpool的替代品?
- 18. 什麼是XCTAssertEqualObjects的替代品?
- 19. 什麼是:: shadow和/ deep /的替代品?
- 20. 什麼是GeoEXT的替代品?
- 21. 什麼是IncludeInAll(...)的替代品?
- 22. 什麼是checkValidity()的jQuery替代品?
- 23. 什麼是Lattix的開源替代品?
- 24. 什麼是start-mapred.sh的替代品?
- 25. 什麼是Silverlight中DataTrigger的替代品
- 26. 什麼是FilteredQueryDescriptor的替代品?
- 27. 作爲團隊系統的替代品,您有什麼用途?
- 28. 什麼設備可用於在臺式機上測試WM_GESTURE和WM_TOUCH代碼?
- 29. 我可以用什麼來代替GridView?
- 30. 什麼Log4j替代日誌庫可用?
我知道,Lua有它自己的垃圾收集器,但如果你看看NekoVM他們使用libgc和不像Lua GC,因爲它不是很好作爲libgc。我正在尋找像libgc這樣的通用GC,我可以在nekoVM上取代 – 2009-01-08 20:44:04
漢斯已經花了超過20年的時間改進了libgc。期望找到高性能收集器的替代品是不現實的。在小型設備上期望高性能的GC也是不明智的。你的問題要求'像NekoVM這樣的虛擬機'。 Lua有資格。 – 2009-01-08 21:26:43
漢斯可能花了20多年時間改進libgc,但與最精確的垃圾收集器相比,其性能非常糟糕。 – 2010-09-25 11:48:39