Guidedog Handbuch 0.2.0
Sprache
Auf dieser Seite
Guidedog / Dokumentation 0.2.0

Speicher und Eigentümerschaft

Ein Budget ist ein Abrechnungsvertrag. Es hat nur dann Bedeutung, wenn die Belastung so lange besteht wie der zugehörige Speicher.

Die Anrechnung folgt dem Speicher

Reservieren Sie Bytes vor der Allokation und lösen Sie die Belastung nach der Freigabe. Beim Pufferersatz können alter und neuer Puffer gleichzeitig bestehen. Rechnen Sie in dieser Phase die gesamte neue Allokation an. Nur den Zuwachs anzurechnen unterschätzt die Spitze.

\[\text{Spitze beim Ersetzen} = \text{sonstiger belegter Speicher} + \text{alter Puffer} + \text{neuer Puffer}.\]

Die Sitzung gibt ihre eigenen Eingaben frei. Eingaben des Aufrufers bleiben dessen Verantwortung. read_owned und read_kept machen den Unterschied deutlich. Kürzeres Lesen verkleinert die bereits erfolgte Allokation nicht.

Ein bekannter Nullwert ist kein unbekannter Wert

Eine Speicherprüfung kann fehlenden Spielraum feststellen oder den Spielraum nicht ermitteln können. Die Richtlinie trennt diese Zustände mit einem Wissensflag statt beide als null abzubilden. Unter Linux gelten lesbare cgroup-Grenzen der sichtbaren Vorfahren. Nur der freie Hostspeicher kann bei Containern irreführen.

Diagnosen überleben ihre Arbeitsbereiche

Ein Bericht nach Sitzungsende muss Titel, Quelle und Korrekturtext besitzen. Er darf keinen freigegebenen Puffer ausleihen. Interne Quellbereiche nutzen Byteoffsets, sichtbare Spalten Unicode-Skalare. Terminalmarker berücksichtigen separat die Darstellungsbreite.

Die verbleibende Grenze

Guidedog misst seinen verwalteten Arbeitsspeicher. Typst und native Abhängigkeiten verwalten eigene Allokationen. Große PDFs können das Hostbudget weit überschreiten. Die entfernte CPython-Prüfung maß einschließlich Typst etwa 14,5 GiB Spitzen-RSS. Das belegt diese Last, keinen allgemeinen Höchstwert. Optionen bei Budgetüberschreitung stehen in Fehlermeldungen.