Ich habe einen Test für Sie ausgeführt, um die Leistung von sqrt(x)
und pow(x,0.5)
1.
%Vor%2.
%Vor%Das erste dauerte ungefähr 20 Sekunden, während das zweite ungefähr zwei Sekunden auf meinem Computer dauerte. Leistung ist also viel besser. Wie andere bereits erwähnt haben, ist die Lesbarkeit ein anderer Grund.
Sicher, wenn du nur an die mathematische Äquivalenz denkst ...
Aber in Bezug auf Algorithmen zur Berechnung des Ergebnisses ist sqrt
spezifisch für eine Sache, während pow
generisch ist.
Man könnte also (zu Recht) annehmen, dass es möglich ist, eine schnellere Funktion für sqrt
zu schreiben, als die generische Funktion pow
zu schreiben.
Ich erinnere mich, irgendwo gelesen zu haben, dass sqrt () ein Sonderfall ist, der durch die IEEE-Spezifikation garantiert wird, um richtig gerundet zu werden. Ich werde das nachsehen, um eine Quelle zu finden. Es sollte auch ein wenig schneller sein, weil es nur einen Fall behandeln muss.
Selbst wenn sie gleich sind, ist es schön, einen eingebauten Alias für eine häufig verwendete Funktion zu haben!
Edit: Gemäß der IEEE-754 sollen sowohl die pow () - Funktion als auch sqrt () so implementiert werden, dass der gerundete Wert die am nächsten liegende Gleitkommadarstellung zum realen Wert darstellt. Allerdings sollte sqrt () immer noch schneller sein.