dedlfix: Tipps für die Verwendung von Array oder Objekt

Beitrag lesen

Tach!

hast Du den Code von mir genommen, den ich ursprünglich gepostet hatte?

Ja. Mit dem geänderten Code sind die Zahlen nachvollziehbar.

Aber streich mal die Zeile

public $bar, $baz, $fup, $hup, $bup;

aus deiner Klassendefinition, dann ist der Speicherverbrauch vom Objekt höher, aber in derselben Region.

Ich erkläre mir das so: Bei Klassen mit vordefinierten Eigenschaftsnamen kann der Compiler den Namen wegoptimieren. Alle Instanzen folgen ja demselben Bauplan. Die Arrays könnten jedesmal andere Key-Namen haben, und benötigen die Namensinformation. Arrays haben keinen Bauplan, aus dem das hervorgehen kann. Objekte mit zur Laufzeit hinzugefügten Eigenschaften müssen sich ebenfalls die Eigenschaftsnamen individuell in jeder Instanz merken. Die könnten ja wie beim Array die Keys jeweils andere sein.

dedlfix.