Wie viele Python-Anweisungen wurden interpretiert?

8

Gibt es eine Möglichkeit zu lesen, wie viele Python-Anweisungen für virtuelle Maschinen seit dem Start der virtuellen Maschine interpretiert wurden? Mir ist klar, dass dies (wenn überhaupt) nur für CPython gelten kann.

    
Prof. Falken 08.05.2013, 09:47
quelle

1 Antwort

1

Nicht leicht. Die kanonische Methode zur Leistungsmessung besteht in der Verwendung von einem der verfügbaren Profiling-Module . Immer noch ...

In CPython 2 ist es möglich, eine ungefähre Messung für den aktuellen Thread von einem Erweiterungsmodul (d. h. C-Code) zu erhalten, indem die PyThreadState -Struktur gelesen wird. Es gibt ein Feld namens tick_counter , das multipliziert mit dem Prüfintervall die Anzahl der ausgeführten Bytecode-Befehle ergibt. Oder mit anderen Worten, die Anzahl der Iterationen der Hauptschleife des Interpreters.

Da sich das Prüfintervall während der Ausführung ändern kann, ist dieser Wert nicht präzise.

Interessante Links zu CPython 2.7.4:

Seit CPython 3.2 hat die tick_counter ihre wahre Bedeutung verloren, weshalb Sie gezwungen sind, das bereits erwähnte Tracing oder Profiling zu verwenden:

C2H5OH 08.05.2013, 10:45
quelle

Tags und Links