Ich mache einige schwere Berechnungen mit Python (mit OpenCV und Numpy) und am Ende habe ich eine Menge Speicherverbrauch (> 1GB) wobei alle refs weg sein sollten und ich nur das Endergebnis habe (welches nicht mehr als ein paar MB betragen sollte).Python: Speicherauslastung Statistiken pro Objekt-Typen (oder Quellcodezeile)
Um dies zu debuggen, wäre es nett, wenn ich irgendwie Statistiken bekommen könnte, die mir zeigen, wie viele Objektinstanzen es von welchem Typ gibt, sortiert nach der Gesamtspeichermenge (pro Objektklasse).
Oder noch netter: Nicht pro Objektklasse, aber pro Quellcodezeile, wo das Objekt erstellt wurde (wobei ich denke, dass diese Information nicht verfügbar ist, wenn ich ein Debugging in Python aktiviere, was die Berechnung zu langsam machen würde.) sicher, ob das hilfreich wäre).
Kann ich irgendwie solche Statistiken bekommen? Oder wie würde ich das debuggen?
Einige missunderstood mich hat: Ich nur müssen wissen, wie die Speichernutzung zu debuggen. Verarbeitung/Laufzeit ist perfekt.
Für den Anfang finden http://docs.python.org/library/profile.html –
Dies gilt nicht Ihre Frage beantworten, aber Blick auf \ _ \ _ Slots \ _ \ _ zur Reduzierung des Speicherverbrauchs. –
@Rafe: Es scheint nur um die Laufzeit zu gehen, aber nicht um die Speichernutzung, oder? – Albert