Zitat von
Tubos:
wow...also bei jedem Funktionsaufruf sind die Daten des Caches sinnlos und müssen neu geladen werden?
[edit]
Ich hoffe, die heutigen Sprungvorhersagealgorithmen können wie schon angedacht solche Sprungbefehle berücksichtigen und dementsprechend anders cachen.
[/edit]
Wenn das wirklich stimmen sollte, dann ist ja ein Funktionsaufruf fast so "schlimm" wie ein GOTO
Der einzige Grund, ein goto nicht zu benutzen, ist, dass dabei nicht auf Verschachtelungen (also den Stack) geachtet wird. Wenn du in einer Rekursion bist und mit GOTO plötzlich ausbrichst, dann hast du das Problem, dass die ganzen gepushten Daten der Funktionsaufrufe noch aufm Stack sind während du schon wieder ganz woanders bist. Ich benutze nie GOTOs, weil alle Angst vor GOTOs haben und ich keinem einen GOTO-durchsetzten Code zumuten will. Einen Code mit GOTOs zu schreiben, dürfte auch ein guter "Kopierschutz" sein
(solange es kein OpenSource ist...)