2. Teil des Seminars
Benchmarking von
- einfachem Kopieren (Cheney)
- Ungar generation scavenging
- Haddon & Waite, Wegbreit
Wir sollen:
- die 3 Algorithmen verstehen
- implementieren
- benchmarken
Implementierung
Speicherbereinigung
Der Speicher wird durch ein groszes Array dargestellt.
Die Testprogramme greifen ueber Funktionen auf den Speicher zu
- /adresse/ = alloc( /groesze/ )
free( /adresse/ )
poke
peek
- /adresse/ = link( /vorgaenger/, /groesze/ )
poke
peek
unlink( /adresse/ )
Die aktiven Zellen enthalten eine bestimmte Anzahl von Referenzen
(wirklich, wieviele?), sie koennen unterschiedliche Groeszen haben.
Soll das Markierungsverfahren in die Messung miteinbezogen werden,
oder laeuft es auszer Konkurrenz? Wenn es miteingerechnet wird, wie
bekommen wir den (moeglicherweise) notwendigen Stack in unseren
Speicherbereich?
Testprogramme
Die Verfahren sollen mit verschiedenen Belastungsarten konfrontiert
werden. (?!)
Was ist sinnvoll, realistisch?