Contents Up << >>

Warne's Garbage Collector (WGC)

WGC is a full-featured high-performance C++ memory manager that includes: - an incredibly fast explicit memory manager (drop-in new/delete) - a parallel incremental generational non-copying collector - a transparent just-in-time heap-checker

WGC's fast explicit memory manager provides a drop-in accelerated new/delete. Using a multi-tiered parallel algorithm with the first tier inline, WGC can allocate most objects inline in less than 10 instructions! To enhance space efficiency WGC uses address-aligned storage algorithms with no per-object overhead (no linked lists!). To reduce fragmentation, WGC maintains a single process free store for all threads, modules, and DLLs.

WGC's collector implements both conservative and accurate scanning and fully supports C++ code. Classes, arrays, scalars, interior pointers, unions, cross-heap pointers, anonymous unions (really!), large objects, library code you have no control over, etc. are all supported. Plus, you can incrementally deploy automatic memory management in existing or new applications, making some classes or objects collected and some not.

WGC's just-in-time heap-checker stays active during the entire development cycle, transparently checking every new and delete. If a check fails, WGC will spawn your debugger and take you live to the line in question. To complement the live access to the line that failed a delete check, WGC provides detailed pointer/object info (allocating thread/line/file/pass count, object allocation time in microseconds, etc.) Debugging extensions allow interactive display/logging of object/pointer status and process stats.

WGC is currently available for all major C++ compilers under Windows NT, Windows 95, and OS/2. WGC is priced at 895 per developer for all platforms, with no royalties. Team&Volume discounts apply. Source available. Ports to other platforms in progress.

        Reflective Software Corp
        2660 Estevan Ave.
        Victoria, BC, CANADA, V8R 2T4
        (800) 707-7171
        (604) 683-0977
        (604) 598-9546 (fax)
Contact: Kevin Warne (kevinw@reflective.com)