> In what ways is GC::Profiler insufficient?

GC::Profiler only provides fairly limited details on garbage collection.
It also doesn't provide any information as to what methods actually
triggered garbage collection and the associated resources. Instead it
provides a listing based on indexes (garbage collection runs I presume)
that looks like the following:

     GC 5 invokes.
     Index    Invoke Time(sec)       Use Size(byte)     Total Size(byte) 
         Total Object                    GC Time(ms)
         1               0.073               181920               703480 
                17587         0.00000000000000000000
         2               0.140               182000               703480 
                17587         3.33400000000000362732
         3               0.207               182000               703480 
                17587         0.00000000000000000000
         4               0.263               182000               703480 
                17587         0.00000000000000000000

Another issue is that there's no standard on the output here. MRI uses
the above format but Rubinius and Jruby each have their own format. This
in turn would make it increasingly hard to write something that parses
this output, especially considering the recent increase of Ruby
implementations and the potential differences in the above output.

Yorick