20,741
edits
Line 134: | Line 134: | ||
** http://blogs.msdn.com/b/abhinaba/archive/2009/03/02/back-to-basics-generational-garbage-collection.aspx | ** http://blogs.msdn.com/b/abhinaba/archive/2009/03/02/back-to-basics-generational-garbage-collection.aspx | ||
* other dynamic languages like lua or python have GC hooks to customize the GC and to call it on demand: [http://lua-users.org/wiki/GarbageCollectionTutorial], [http://luatut.com/collectgarbage.html] | * other dynamic languages like lua or python have GC hooks to customize the GC and to call it on demand: [http://lua-users.org/wiki/GarbageCollectionTutorial], [http://luatut.com/collectgarbage.html] | ||
* another straightforward optimization would be exposing an API to allocate new objects in a certain generation (GEN0/GEN1) to directly tell the interpreter about the object's lifetime ( until reset/reinit, until aircraft change, timer/frame based). | |||
* marking/reaping could be parallelized using several threads, for each pool - by using write barriers to sync access to naRefs | * marking/reaping could be parallelized using several threads, for each pool - by using write barriers to sync access to naRefs | ||