M
Matthias Meixner
Just in case you are interested, there is a new garbage collector for C++:
http://sourceforge.net/projects/meixnergc/
So what does it do what others cannot do? Here is the list:
- It is not a conservative garbage collector like e.g. the Boehm
collector. Therefore, all garbage will eventually be cleaned
- Due to using mark and sweep it has no problems with cyclic data
structures (no reference counting).
- It uses incremental garbage collection to smoothly spread the workload
of the garbage collector over the whole runtime
- By using a non-intrusive design it allows to handle all kind of
data/objects.
- It provides a universal smart pointer that can be used to point to
anything, single objects and arrays (no different smart pointer types
for objects and arrays). It may also safely be used to point to data on
stack or global data.
- It simulates the normal automatic pointer type conversion, e.g.
gc_ptr<A> will be automatically casted to gc_ptr<B> if A is a subclass of B.
Currently it is designed to be used with gcc / pthreads. The
single-threading version should be usable with any C++ compiler. The
multi-threading version should work with any platform that supports
POSIX threads.
So what do you think?
- Matthias Meixner
http://sourceforge.net/projects/meixnergc/
So what does it do what others cannot do? Here is the list:
- It is not a conservative garbage collector like e.g. the Boehm
collector. Therefore, all garbage will eventually be cleaned
- Due to using mark and sweep it has no problems with cyclic data
structures (no reference counting).
- It uses incremental garbage collection to smoothly spread the workload
of the garbage collector over the whole runtime
- By using a non-intrusive design it allows to handle all kind of
data/objects.
- It provides a universal smart pointer that can be used to point to
anything, single objects and arrays (no different smart pointer types
for objects and arrays). It may also safely be used to point to data on
stack or global data.
- It simulates the normal automatic pointer type conversion, e.g.
gc_ptr<A> will be automatically casted to gc_ptr<B> if A is a subclass of B.
Currently it is designed to be used with gcc / pthreads. The
single-threading version should be usable with any C++ compiler. The
multi-threading version should work with any platform that supports
POSIX threads.
So what do you think?
- Matthias Meixner