2009-07-02 15 views
2

Was ist das Beste in Bezug auf Geschwindigkeit und Leistung? Um die Funktion jedes Mal aufzurufen, wenn Sie den Wert benötigen (z. B. mysql_num_rows, time) oder den Rückgabewert in eine lokale Variable kopieren und diese stattdessen verwenden.Funktion jedes Mal aufrufen oder lokale Variable

Beispiel: Lassen Sie uns sagen, dass ich die time() Funktion zehn Mal aufrufen, um die aktuelle Zeit zu erhalten, wäre es schneller, eine lokale Variable diese zehn Mal stattdessen zu verwenden?

Antwort

12

Dies kommt grundsätzlich nach unten zu:

Ist dies Ihr Code besser lesbar machen? Dies sollte Ihre erste Berücksichtigung sein.

Wie teuer ist der Funktionsaufruf? Nicht micro-optimize. Wenn beispielsweise jeder Aufruf 2000 Datensätze aus einer Datenbank erhält oder einen Remote-Web-Service aufruft, dann ist die Leistung dieses Aufrufs signifikant. Aber oft ist es nicht so.

Ist es angemessen, den Wert zu speichern? Damit meine ich nehmen Sie Zeit(), kann es zwischen den Anrufen wechseln. Dies kann sein, was Sie wollen oder Sie möchten die gleiche Zeit an mehreren Stellen verwenden, in diesem Fall würden Sie es speichern.

3

Variablen sind definitiv schneller.

Verwandte Themen