next up previous
Nächste Seite: Aufruf und Bedienung Aufwärts: Hilfsprogramme zu M2Amiga Vorherige Seite: Rückgabewerte

Cache (m2cache) und m2amiga.library

Die m2amiga.library enthält Prozeduren, die von allen Werkzeugen von benötigt werden. Nebenbei dient sie als Cache für alle Dateien. m2cache erlaubt dem Anwender das Verhalten der m2amiga.library zu beeinflussen. Normalerweise muss m2cache nicht benutzt werden, allenfalls zu Beginn, um die Grösse des Caches einzustellen. Die Grösse kann beliebig eingestellt werden. Man kann vorgeben, wieviel Speicher maximal benutzt werden darf oder wieviel Speicher mindestens freigehalten werden soll.

Bei einem Überlauf werden die am längsten nicht benutzten Dateien aus dem Cache entfernt.

Der Cache bietet bei Symboldateien nicht die schnellstmögliche Lösung zum Einlesen, da die Dateien zur Verarbeitung entpackt werden müssen.3.2Insgesamt ist das System aber sehr schnell, weil die Suche in den Projekten entfällt und auch Objektdateien im Speicher gehalten werden. Ausserdem können die im Cache gelagerten Dateien beliebig oft gleichzeitig benutzt werden.

Es wird immer nur eine obx-Datei (pro CPU) eines Moduls im Cache gehalten. Der Cache merkt sich auch, welche Typen von Objekt-Dateien nicht existieren und versucht dann gar nicht erst, sie zu finden.

Wird vom Compiler eine neue Datei erzeugt, wird die alte natürlich automatisch aus dem Cache gelöscht.

Im Cache werden niemals voll erweiterte Pfadnamen gespeichert, sondern nur Namen, die sich aus den Pfadangaben der ,,path``-Dateien ergeben. Deshalb sollte unbedingt jedes Modul nur einmal vorkommen. Für den Fall, dass ein Modul mehrfach existiert, können bei einem Wechsel des Projektes mit

m2cache -f
alle lokalen Objekte, d.h. solche des Projekts, aus dem Cache gelöscht werden.

Momentan werden nur Symbol-, Referenz- und Objekt-Dateien permanent gehalten. Der Compiler lädt die Quelltexte zur Beschleunigung zwar auch in den Cache, gibt sie aber unmittelbar wieder frei. Bei Texten kann leider nicht sichergestellt werden, dass eine Veränderung vom Cache bemerkt wird.



Unterabschnitte
next up previous
Nächste Seite: Aufruf und Bedienung Aufwärts: Hilfsprogramme zu M2Amiga Vorherige Seite: Rückgabewerte
Claudio Nieder 2000-11-12