Christoph: Messergebnisse

Beitrag lesen

Moin.

Danke für die Zusammenfassung. Da seh ich jetzt auch klarer!
Vor allem die theoretischen Berechnungen zu Laufzeit und Speicherbedarf machen den internen Ablauf nochmals deutlich.

Wobei es sich bei den theoretischen Überlegungen - z.B. was den Speicherverbrauch für Referenzen betrifft - um Milchmädchenrechnungen handelt: Aller Wahrscheinlichkeit nach werden die Objekteigenschaften in Hashtables abgelegt, d.h., unabhängig davon, ab die Referenz exisitiert oder nicht, muss Speicherplatz für die im Zweifelsfall leeren Buckets alloziert werden.

Ähnlich verhält es sich mit den Überlegungen zu der Closure in Variante 1: es kann sein, dass hier ein neues Objekt erstellt wird, ebenso ist es aber auch möglich, dass der sowieso vorhandene Kontext weitervewendet und nur einem Pointer zugewiesen werden muss. Mal ganz abgesehen davon, dass der aktuelle Speicherverbrauch natürlich stark vom verwendeten Garbage-Collection-Mechanismus abhängt...

Um hier mit Gewissheit argumentieren zu können, müsste man tatsächlich mal (ECMA-)Spezifikationen und Quelltexte wälzen. Interessieren würde mich das schon, da ich mich selbst schon mal an einem Interpreter für eine ähnlich dynamische Sprache versucht habe, aber momentan habe ich nicht die Zeit, mich im Detail damit auseinanderzusetzen...

Christoph