Thomas Kramer

IT-COW | All posts tagged 'JConsole'

JAMon vs. JConsole beim multithreaded RT-Algorithmus

By Administrator at Januar 10, 2012 22:51
Filed Under: Algorithmen, Java, Programmierung allgemein

Nachfolgend der Vergleich zwischen JAMon und JConsole, bezogen jeweils auf einen Durchlauf mit 500.000 Knoten bei meiner Variante drei vom multithreaded Reingold-Tilford-Algorithmus:

 

JConsole zeigt mir eine Anzahl von maximal 173 gleichzeitig aktiven Threads in diesem Durchlauf an (beim letzten Mal ca. 200), während JAMon mir immer ca. 430 (jeweils, also sogar mal 2!) ausgibt. Welche der beiden abweichenden Angaben richtig ist kann ich zurzeit nicht beurteilen.

 

Das Processing-Programm startet natürlich sofort, aber erst mit der Erzeugung der Knoten welche ca. 20 Sekunden dauert - erst danach beginnt das Multithreading, die Voraussetzungen für den Vergleich bezüglich Threads stimmen demnach denn JConsole kann erst nach dem Starten des Processing-Programms das Beobachten beginnen.

 

Tatsache ist damit aber dass das Multithreading in meiner Implementierung des Reingold-Tilford-Algorithmus funktioniert - auch wenn es in diesem Fall trotzdem keine Vorteile bringt.

 

JConsole wird in der Eingabeaufforderung folgendermaßen gestartet: jconsole <PID>. Im Taskmanager kann die Prozess-ID eingeblendet werden, standardmäßig ist sie ausgeblendet.

 

 

Update 12.01.2012: Eigene Threadzähler in mein Programm eingebaut, diese stimmen mit der Zählung in JAMon überein. Im aktuellen Durchlauf bei 500.000 Knoten:

 

JAMon: Jeweils maximal 440 Threads gleichzeitig, also 880.

eigene Threadzähler: Auch jeweils maximal 440 Threads gleichzeitig, also 880.

JConsole: Für den gleichen Durchlauf einen Peak von insgesamt 142 Threads.

 

Monats-Liste