Ich habe bemerkt, dass eine Formelimplementierung goto verwendet, und das hat mich dazu gebracht
frage mich: Ist das langsamer als andere Flusskontrollkonstrukte?
goto
ist nicht langsamer als jeder andere Flusskontrollmechanismus. Es wird, wie die meisten Flusskontrollmechanismen, in eine br.s
(oder ähnliche) MSIL-Anweisung kompiliert. Es gibt jedoch Situationen, in denen goto
etwas schneller sein kann. Sie sind meist auf Situationen beschränkt, in denen break
und continue
in verschachtelten Schleifen verwendet werden. Betrachten Sie den folgenden Code.
%Vor%
Es gibt verschiedene Möglichkeiten, wie du aus der ganzen Sache ausbrechen kannst. Hier ist eine Methode.
%Vor%
Das Problem ist, dass jede Schleife das condition
Flag überprüfen muss. Wir könnten dies mit einem goto
umgestalten, um es etwas effizienter und etwas eleganter zu machen.
%Vor%