public void Dump()
{
long [] sizes = (long []) Profile.Metadata.TypeMax.Clone ();
int [] indexes = new int [sizes.Length];
int cutoff = (int) (Profile.MaxSize * Threshold);
for (int i = 0; i < indexes.Length; i ++)
indexes [i] = i;
Array.Sort (sizes, indexes);
Array.Reverse (sizes, 0, sizes.Length);
Array.Reverse (indexes, 0, indexes.Length);
foreach (TimeData d in Data) {
if (d.TotalSize == 0)
continue;
Console.WriteLine ("Heap at {0} ms", d.Time);
Console.WriteLine ("Total heap size {0}", d.TotalSize);
foreach (int ty in indexes) {
if (Profile.Metadata.TypeMax [ty] < cutoff)
continue;
Console.WriteLine ("{0} ({2:p}) -- {1}", d.TypeData [ty], GetTypeName (ty), (double) d.TypeData [ty] / (double) d.TotalSize);
}
Console.WriteLine ();
}
}