What's iGC2-lean?
iGC2-lean is a lean (less than 500KB in size) garbage collector for iOS apps. Based on patented HnxGC v2 engine, it collects leaks of your app, including those in 3rd party libraries. There is no need to recompile your ObjC source, just link against the iGC2-lean static library, and then go!
What features does iGC2-lean have?
iGC2-lean is a deterministic, pause-less and accurate garbage collector running at idle priority level.
It collects cyclic garbage leaked in both ARC and MRR code, including leaks in NSArray, NSDictionary, and Blocks.
Acyclic garbage are reclaimed promptly parallel with background concurrent collector, no matter how large the heap is being traversed, and how quickly the app is creating garbage.
C++ is also supported via gcptr<> smart pointers.
Can I use it now?
Yes, some apps built with iGC2-lean(beta) under Xcode5 have been submitted to AppStore, passed Apple's review, and became ready-for-sale.
How much will it cost?
$0 dollar. We will provide iGC2-lean for free to promote the idea of HnxGC garbage collection.
What's the difference between iGC2-lean and iGC2 (or HnxGC)?
Basically, iGC2 (or HnxGC) is more powerful (e.g. generational GC and linear pool) than iGC2-lean, and run faster (e.g. 2x - 12x times faster). However, you have to do more things than in iGC2-lean, for example, you may need to recompile your ObjC source code. See this chart for more details.
Watch this video!
This video compares iGC2-lean to the latest garbage collector in your everyday mobile browser, either Chrome or Safari.
The V8 team engineers in google developed a program to test the responsiveness and memory efficiency of browser GC. It runs in the left panel comparing to an iGC2-lean app at the right. Look at the red line (a real-time thread) and the blue line (GC is busy working), to see how those pause spikes are removed and no longer runs out of memory.