Inhaltsverzeichnis
6.1.3. Eigentlichkeit begünstigende Faktoren

6.2. Laufzeitmessung und Bewertung der Algorithmen

Für die Laufzeitmessung wurde ausschließlich die Statistikfunktion herangezogen. Alle Laufzeiten wurden auf dem gleichen Rechner unter den gleichen Bedingungen gemessen: auf einem 200 MHz-PC mit Windows 98, wobei das Front-End im Vordergrund lief und keine Prozesse außer den zum Betriebssystem gehörigen aktiv waren. Letzteres ist deshalb besonders wichtig, weil das Front-End die MTen aus den in Abschnitt 5.2.2. genannten Gründen in einem niedrig priorisierten Thread durchsucht. Das bedeutet nämlich auch, dass der Zählvorgang durch fremde Programme erheblich verzögert wird - durch manche Anwendungen wie z.B. Microsoft Word selbst dann, wenn diese während des Zählens nur geöffnet sind, ohne dass damit gearbeitet wird.

Auf die Messung der Zeiten für MTen mit zehn und weniger Gliedern wurde verzichtet, da die Laufzeiten dort so kurz sind, dass algorithmischer Overhead und Zugriffe auf die Programmoberfläche - vor allem die Darstellung des Fortschrittsbalkens - die Laufzeit der interessanten Kernalgorithmen zu stark verfälschen.

Mittels des Front-Ends lässt sich eine große Anzahl an verschiedenen Statistiken aufstellen. Die Frage ist also, für welche davon eine Laufzeitmessung überhaupt interessant wäre. An dem Algorithmus zum Ermitteln der Statistik fällt dabei auf, dass - egal, nach welchen Kriterien die MTen eingeschränkt sind oder für welches Kriterium die Statistik aufgestellt werden soll - hinsichtlich der zeitintensiven Vorgänge nur vier Fälle möglich sind:

Tabelle 10:
Varianten bezüglich der Laufzeit
Einschränkung nach oder Statistik überGemeinsame kin. Ketten ausnutzenAGn-Zerlegung erforderlich
Keine, Gestellgelenke und Gelenke pro Gliedneinnein
Glieder in AGn oder Eigentlichkeitneinja
Keine, Gestellgelenke, Gelenke pro Glied und Eigentlichkeitjanein
Glieder in AGnjaja

Der Algorithmus kann also mit oder ohne die Zerlegung jedes einzelnen MTs in AGn ablaufen, und das jeweils noch wahlweise in der Variante mit Ausnutzung der Eigenschaften gemeinsamer kinematischer Ketten.

Für diese Varianten wurden folgende Laufzeiten ermittelt:

Tabelle 11:
Gemessene Laufzeiten
Glieder1214
Nur Zählen9,7s9,8min
Zählen mit AGn-Zerlegung39,2s99,4min
Nur Zählen, gem. kin. Ketten analysieren29,4s79,4min
Zählen mit AGn-Zerlegung, gem. kin. Ketten ausnutzen41,2s108,1min

Daraus lassen sich für die einzelnen Teile des Algorithmus folgende Teillaufzeiten berechnen:

Tabelle 12:
Teillaufzeiten
Glieder1214
Ableiten der MTen9,7s9,8min
Analyse der gem. kin. Ketten19,7s69,6min
AG-Zerlegung29,5s89,6min
AG-Zerlegung, gem. kin. Ketten ausnutzen11,8s28,7min

Berechnet man daraus nun die durchschnittliche Laufzeit pro Typ, ergibt sich folgendes Bild:

Tabelle 13:
Durchschnittliche Laufzeiten für einen einzelnen Typ
Glieder1214
Kettentypen6.856318.162
MTen195.81611.429.024
Durchschnittliche MTen pro Kettentyp2936
Ableiten der MTen, Durchschnitt pro Kettentyp1,4ms1,8ms
Analyse, Durchschnitt pro Kettentyp2,9ms13,1ms
AGn-Zerlegung, Durchschnitt pro Kettentyp0,15ms0,47ms
AGn-Zerlegung, gem. kin. Ketten ausnutzen, Durchschnitt pro Kettentyp0,06ms0,15ms

Die AGn-Zerlegung ist also sehr zeitaufwändig im Vergleich zum bloßen Ableiten und Zählen der MTen. Grund: die Ableitung der MTen erfolgt nur einmal pro Kettentyp, die AGn-Zerlegung dagegen für jeden einzelnen dieser MTen. Bei den 14-gliedrigen MTen steigt die Dauer der Statistik-Prozedur durch eine zusätzliche AGn-Zerlegung auf das zehnfache. Daran kann auch das in 2.4. entwickelte Verfahren zum Ausnutzen gemeinsamer kinematischer Ketten nichts ändern - im Gegenteil. Obwohl die Methode beim Erheben der Statistik unter optimalen Umständen arbeitet - von jeder Kette werden alle abgeleiteten MTen untersucht - ist der Algorithmus damit in fast allen Fällen langsamer als die einfachere Variante, die jeden MT einzeln untersucht. Nur wenn die MTen hinsichtlich der Eigentlichkeit eingeschränkt sind oder eine Statistik über die Eigentlichkeit aufgestellt werden soll, bringt die Analyse der gemeinsamen kinematischen Kette einen leichten Zuwachs an Geschwindigkeit, denn sie erspart in diesem Fall die AGn-Zerlegung.

Der Grund dafür, dass das Verfahren im Vergleich so schlecht abschneidet, lässt sich aus obigen Tabellen erkennen. Zwar geht die AGn-Zerlegung mit Hilfe der einmalig aus der Kette gewonnen Informationen tatsächlich wesentlich schneller, doch die Analyse der Kette selbst ist derart zeitaufwändig, dass dieser Vorteil letztendlich ins Gegenteil verkehrt wird. Die Kettenanalyse ist außerdem der Vorgang, dessen Laufzeit mit zunehmender Gliederzahl am stärksten ansteigt. Die Komplexität eines Algorithmus, der Gliedermengen einer Struktur durchsucht, kann sich pro zusätzlichem Glied maximal verdoppeln. Die Kettenanalyse schöpft diese Steigerungsrate der Laufzeit aufgrund ihres Algorithmus vollständig aus. Die anderen Algorithmen, wie z.B. die einfache AGn-Zerlegung, tun dies dagegen nicht ganz, wie in Tabelle 13 zu sehen ist. Deshalb wird die Analyse der gemeinsamen kinematischen Ketten auch bei Strukturen mit noch mehr Gliedern als in dieser Arbeit betrachtet nicht attraktiver. Die einfache AGn-Zerlegung ist in den meisten Fällen vorzuziehen, zumal sie einfacher in der Handhabung ist und eine unter allen Umständen optimale Laufzeit bietet.

6.3. Einschätzung der grafischen Darstellung