How the Nasal GC works: Difference between revisions

Jump to navigation Jump to search
m
Line 2: Line 2:


= Problem =
= Problem =
The current Nasal garbage collector (GC) is known to affect the frame rate in FlightGear and occasionally causes stutter under certain circumstances. This is largely attributed to it being a fairly simple sequential mark/sweep collector, which needs to stop all operations, mark all reachable objects and free unreachable objects in an exclusive, single-threaded, fashion.
The current Nasal garbage collector (GC) is known to affect the frame rate in FlightGear and occasionally causes stutter (increased frame spacing) under certain circumstances. This is largely attributed to it being a fairly simple sequential mark/sweep collector, which needs to stop all operations, mark all reachable objects and free unreachable objects in an exclusive, single-threaded, fashion.
In other words, the time spent in the GC is proportial to the number of active objects (i.e.  lines of code), even for objects which may not be running or active - just loaded. For additional background information, please see [[Improving Nasal]].
In other words, the time spent in the GC is proportial to the number of active objects (i.e.  lines of code), even for objects which may not be running or active - just loaded. For additional background information, please see [[Improving Nasal]].


Navigation menu