Sprung Befehl???
Übersicht

![]() |
HellfrontBetreff: goto schnell |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jan_ hat Folgendes geschrieben: goto ist tierrichst schnell.
Tja nur würd ich sagen dass Schleifen schneller sind. Probierts ruhig aus: BlitzBasic: [AUSKLAPPEN]
BlitzBasic: [AUSKLAPPEN]
Edit: habs nochmal probiert jetzt kamen gleiche werte raus merkwürdig jedenfalls ist der unterschied warscheinlich nicht groß. Probierts doch ma mit nem langsamen verfahren (hab selba jetzt keine Zeit) z. B. getcolor und achtet natürlich darauf dass die bedingungen möglichst gleich sind. |
||
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] Const durchlaeufe = 1000000 Hier schön zum testen der Schleifen. Was sieht man hier? Genau, Goto ist am langsamsten wegen der If Abfrage. Wenn man die Abbruchbedingung in einer Schleife durch eine If Abfrage löst, ist diese sogar noch langsamer als Goto. Was sagt das uns? Genau, Abbruchbedingung immer an die richtige Stelle setzen ![]() Edit: Ach ja Hacker, bei dir hat die Goto Variante einen durchlauf weniger als die For Variante, deswegen gibts keinen Unterschied ![]() |
||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
Florian |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: goto ist tierrichst schnell. Goto ist nicht so schnell. Test 1 ( 2767 ) BlitzBasic: [AUSKLAPPEN]
Test 2 ( 2971 ) BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hoi.
Ich versuche eigentlich generell ohne GOTO auszukommen. Zum Testen bau ich's schonmal ein, ersetze es aber später in der Final durch anderen Code. Es gibt aber definitiv Situationen (wie xpression schon sagt), wo GOTO durchaus Sinn machen würde. Zur Geschwindigkeit von gosub und function...die AUFRUFE an SICH sind ca. gleich schnell, wobei gosub minimal schneller ist. Alles schön und gut, aber man sollte bedenken, dass in functions globale Variablen benutzt werden, was die Geschwindigkeit mitunter -relativ gesehen- STARK beeinflussen kann. Als Beweis folgender Code. Lasst ihn mal durchlaufen, merkt euch die Ergebnisse und kommentiert dann mal global c aus ... Code: [AUSKLAPPEN] ;Global c ;goto timer1=millisecs() For i= 1 To 10000000 Goto blubb .anfang Next timer1=millisecs()-timer1 ;gosub timer2=millisecs() For i= 1 To 10000000 Gosub blobb Next timer2=millisecs()-timer2 ;function timer3=millisecs() For i= 1 To 10000000 blibb() Next timer3=millisecs()-timer3 ;ergebnis Text 50,100,"goto:"+timer1 Text 150,100,"gosub:"+timer2 Text 250,100,"function:"+timer3 WaitKey .blobb a=a+1 Return .blubb b=b+1 Goto anfang Function blibb() c=c+1 End function Grüsse, PSY |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group