MemoryUsageView.st
changeset 12030 98d9eb106621
parent 9936 1090966171a4
child 12401 4714b9640528
child 12889 040a1ab8884f
--- a/MemoryUsageView.st	Sun Nov 04 22:47:51 2012 +0100
+++ b/MemoryUsageView.st	Sun Nov 04 23:12:51 2012 +0100
@@ -330,6 +330,37 @@
     "Modified: / 11-05-2011 / 14:38:12 / cg"
 !
 
+inspectLargestInstances
+    |tenBiggest smallestOfThe10|
+
+    tenBiggest := SortedCollection new:20.
+    tenBiggest sortBlock:[:a :b | a size > b size].
+    smallestOfThe10 := nil.
+
+    self withCursor:(Cursor questionMark) do:[
+        self withInstancesOfSelectedClassDo:[:insts |
+            insts do:[:each |
+                smallestOfThe10 isNil ifTrue:[
+                    smallestOfThe10 := each size.
+                    tenBiggest add:each.
+                ] ifFalse:[
+                    each basicSize > smallestOfThe10 ifTrue:[
+                        tenBiggest add:each.
+                        tenBiggest size > 10 ifTrue:[
+                            tenBiggest removeLast.
+                            smallestOfThe10 := tenBiggest last size.
+                        ]
+                    ]
+                ].
+            ].
+            tenBiggest inspect
+        ]
+    ]
+
+    "Modified: / 11-05-2011 / 14:36:44 / cg"
+    "Modified: / 16-06-2011 / 15:57:52 / az"
+!
+
 inspectOwners
     |class inspector|
 
@@ -502,6 +533,7 @@
                      ('Sort by Byte Allocation Rate'    sortByMemoryAllocationRate              )
                      ('-')
                      ('Inspect Instances'               inspectInstances                        )
+                     ('Inspect Largest Instances'       inspectLargestInstances                        )
                      ('Inspect with Search'             inspectInstancesWithSearch              )
                      ('Inspect Owners'                  inspectOwners                           )
                      ('-')
@@ -1018,9 +1050,9 @@
 !MemoryUsageView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.60 2011-06-16 14:13:42 az Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.61 2012-11-04 22:12:51 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.60 2011-06-16 14:13:42 az Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.61 2012-11-04 22:12:51 cg Exp $'
 ! !