Ist Typhinweis hilfreich bei der Performance von PHP-Skripten?

8

Type-Hinting hilft dem Compiler, den Typ der Variablen anzunehmen, aber da es sich bei PHP um eine dynamische Skript-interpretierte Sprache handelt, kam mir die Frage in den Sinn, ob Typhinweis die Runtime sogar schneller macht oder nicht?

    
Arsham 27.08.2010, 00:58
quelle

3 Antworten

17

PHP ist eine dynamische Sprache.
Dynamische Sprachen unterstützen nur die Laufzeitprüfung.
Typhinweis ist die Überprüfung des Laufzeittyps.
Die Überprüfung des Laufzeittyps ist schlecht für die Leistung.
Daher ist Typhinweis schlecht für die Leistung.

    
Ming-Tang 27.08.2010, 01:09
quelle
4

Typhinweis beeinträchtigt nur die Leistung, da (für Objekte) die Vererbungshierarchie getestet werden muss. Um die Dinge noch schlimmer zu machen, ist diese Art von Prüfung in PHP teuer, weil sie zeitlich proportional zur Tiefe der Hierarchie durchgeführt wird.

Ein Test für den Typ, wie der für den array Hinweis, ist jedoch ein viel kleinerer Aufwand.

Außerdem wird es derzeit nicht für Optimierungszwecke verwendet.

Es ist jedoch eine nützliche defensive Programmierfunktion.

    
Artefacto 27.08.2010 01:08
quelle
2

Alle Typen, die in PHP dotiert sind, fügen Code hinzu, der den Typ der Parameter testet und scheitert, wenn es nicht das ist, was erwartet wird. Seine einzige wirkliche Verwendung ist das Debuggen. Wenn Sie also eine Funktion haben, die sehr oft aufgerufen wird, kann das Entfernen des Typhinweises im Produktionscode die Dinge beschleunigen, zumal die Überprüfung des Objekttyps nicht die schnellste Sache der Welt ist.

Siehe auch Wann sollte ich Typhinting in PHP verwenden?

    
Gordon Gustafson 27.08.2010 01:05
quelle

Tags und Links