Es wurden5 Testprogramme gemessen:
Zeit
Met. Memory #Elemente Durchgänge Elementgröße u s
320.000 10.000 300 1 0.3 0.3
320.000 20.000 300 1 0.5 0.3
320.000 40.000 300 1 1.2 0.3
Wie erwartet, steigt der Aufwand proportional zur Anzahl der kopierten Elemente.
Zeit
Met. Memory #Elemente Durchgänge Elementgröße u s
C 320.000 10.000 300 1 6.6 0.3
C 320.000 20.000 300 1 15.5 0.7
C 320.000 40.000 300 1 34.3 1.4
W 160.000 10.000 300 1 1.7 0.1
W 160.000 20.000 300 1 3.9 0.2
W 160.000 40.000 300 1 9.8 0.3
Der größere Aufwand beim Cheney-Algorithmus (CA) erklärt sich durch den Umstand, daß bei jedem GC-Aufruf der gesamte LIVE-Speicher kopiert wird, obwohl der in diesem Fall kompakt vorliegt. .
Zeit
Met. Memory #Elemente Durchgänge Elementgröße u s
C 80.000 100 10.000 5 8.3 0.6
C 160.000 200 10.000 5 10.0 0.5
C 320.000 400 10.000 5 22.0 1.6
W 40.000 100 10.000 5 5.5 0.2
W 80.000 200 10.000 5 12.0 0.3
W 160.000 400 10.000 5 26.8 1.5
Der (wenn auch geringe) Zeitvorteil beim CA erklärt sich durch den Umstand, daß der WA bei der Aktualisierung der Referenzen die neue Adresse jedes Datensatzes in der Tabelle suchen muß, wogegen der CA die Adresse direkt Über den Forward-Pointer erfährt.
Zeit
Met. Memory #Elemente Durchgänge Elementgröße u s
C 80.000 10x200 10.000 1/10 11.3 1.1
C 160.000 20x200 10.000 1/10 12.4 0.6
C 320.000 40x200 10.000 1/10 16.6 0.7
W 40.000 10x200 10.000 1/10 13.2 0.3
W 80.000 20x200 10.000 1/10 16.1 0.7
W 160.000 40x200 10.000 1/10 20.4 2.0
Der CA ist nicht fÄhig, ganze Speicherblöcke zu verschieben, der WA schon. Dieser Umstand verschafft dem WA einen relativen Vorteil, wenn bei der GC ganze (große) zusammenhängende Blöcke kopiert werden sollen (siehe 5.), bei diesem Testprogramm liegt der LIVE-Speicher allerdings fragmentiert vor, was einen Performance-Nachteil für den WA bringt.
Zeit
Met. Memory #Elemente Durchgänge Elementgröße u s
C 80.000 2.000 1000 1 6.6 0.3
C 80.000 4.000 1000 1 15.5 0.7
C 80.000 8.000 1000 1 34.3 1.4
W 40.000 2.000 1000 1 1.7 0.1
W 40.000 4.000 1000 1 3.9 0.2
W 40.000 8.000 1000 1 9.8 0.3
Bei dieser Variante liegt der LIVE-Speicherbereich in einem Block vor.