Bei der Umsetzung eines Dolmetschers, ist es eine gute oder schlechte, um mit der Bahn aus der Sprache des Aufnahmelandes, garbage collector?

StackOverflow https://stackoverflow.com/questions/2179501

Frage

Angenommen, Sie implementieren einen Dolmetscher für eine GCed Sprache, in einer Sprache, die GCed.Es scheint mir, Sie bekommen würde die garbage collection für frei, solange Sie einigermaßen vorsichtig über Ihr design.

Ist dies in der Regel, wie es geht?Gibt es gute Gründe, dies nicht zu tun?

War es hilfreich?

Lösung

Sprache und Laufzeit sind zwei verschiedene Dinge. Sie sind nicht wirklich IMHO Zusammenhang stehen.

Wenn also die Laufzeit bietet bestehenden ein GC bereits, es muss ein guter Grund, die Laufzeit mit einem anderen GC zu verlängern. In den guten alten Zeiten, als Speicherzuordnungen in den OS langsam und teuer waren, Apps ihren eigenen Heap-Manager gebracht, wo effizienter mit kleinen Datenmengen zu tun. Das war ein readon für das Hinzufügen eines weiteren Speicherverwaltung zu einem bestehenden Laufzeit (oder OS). Aber wenn Sie Java sprechen, .NET oder so -. Diese sollten bei der Hand gut und effizient genug für die meisten Aufgaben sein

Sie können jedoch wollen eine richtige Schnittstelle / API für Speicher und Objekt-Management-Aufgaben (und andere) erstellen, so dass Ihre Sprache ( „guest“) Laufzeit auf eine anderen Host-Laufzeit auf später umgesetzt werden könnte.

Andere Tipps

Für Dolmetscher sollte es kein problem mit die host GC, IMHO, vor allem auf den ersten.Wie immer Ziel sein sollte, um etwas funktioniert, dann Mach es richtig funktioniert, dann geht das ganz schnell.Dies gilt besonders für Domain-Spezifische Sprachen (DSL), wo das Ziel ist eine kleine Sprache.Für diese Umsetzung ein full GC wäre übertrieben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top