2016-06-17 4 views
-1

Ich habe vor kurzem mit Python und Pygame gearbeitet, und ich frage mich, ist es effizienter, Prozessor/RAM weise if x != y: x = y oder x = y in meiner Hauptschleife zu verwenden ? Ich verstehe, dass der Unterschied so klein sein würde, dass es fast keinen Unterschied machen würde, aber ich bin immer noch neugierig.Python, das effizienter ist; Wenn x! = y: x = y oder x = y

+0

Nicht sicher, was Sie hier bekommen ... die erste Anweisung hat 2 Komponenten, eine if-Anweisung und eine Zuweisung, die zweite Anweisung hat nur die gleiche Zuordnung. Wäre es also nicht sinnvoll, dass der zweite schneller ist? –

+0

Nicht notwendig: Vergleiche nicht schneller als Zuordnungen? Dann, wenn "fast jedes Mal" x == y, dann wäre es wahrscheinlich schneller, zuerst zu überprüfen, nicht wahr? – Dleep

Antwort

0

x = y erfordert keinen Vergleich, und ein Vergleich kann manchmal Ressource kosten.

So würde ich sagen, dass nur x = y ist besser.

+0

Ja, aber der OP ist der Punkt, dass manchmal der Vergleich falsch ist und dann brauchen Sie keine Zuweisung. – jonrsharpe

+0

Ich sehe seinen Punkt, aber Vergleich, soweit ich weiß, ist (in Bezug auf Ressourcen) teurer als Zuweisung. –