Fabian: Zeit, welche der Script benötigt

Ich wollte einfach mal herausfinden wie lange mein Script braucht. Müsste ja eigentlich nicht schwierig sein. Das, was herauskommt ist aber völlig unrealistisch!

Wo liegt das Problem?

function Los(x, y){  
					start = new Date();  
					startzeit = start.getTime();  
					x = parseFloat(x)  
					y = parseFloat(y)  
					var ausgabe = "<div align='right'><br/>"  
					var lösung = new Array  
					  
					  
					for (i=x; i <= y; i++){  
						lösung[i] = i*i  
					}  
					  
					  
					for(i=x; i<= y; i++) {  
						ausgabe = ausgabe + i +" ^ 2 = " + lösung[i] + "<br/> "  
					}  
					ausgabe = ausgabe + "</div>"  
					  
					document.getElementsByName("ausgabe") [0].innerHTML = ausgabe  
					  
					  
					aktuell = new Date();  
					zeit = (aktuell.getTime() - startzeit) / 1000;  
  
					alert(zeit + " Sekunden benötigte der Script" )  
					  
					}

Auf meiner Website hier könnt iíhr auch es im zusammenhang angucken.

  1. Das, was herauskommt ist aber völlig unrealistisch!

    Was kommt raus und was findest du dran unrealistisch?
    Bei mir kam mit 1 und 2 0,001 Sekunden raus. Ist das so undenkbar?

    1. Das, was herauskommt ist aber völlig unrealistisch!
      Was kommt raus und was findest du dran unrealistisch?
      Bei mir kam mit 1 und 2 0,001 Sekunden raus. Ist das so undenkbar?

      Bei 1 bis 10.000 sagt er, es benötige 0,329 Sekunden. Es waren aber 7.

      1. Bei 1 bis 10.000 sagt er, es benötige 0,329 Sekunden. Es waren aber 7.

        Bei mir gehts um einiges schneller. Woher hast du die 7?
        Vielleicht ist die Zeit fürs rechnen richtig und der Browser braucht den größten Teil der 7 Sekunden nach dem Funktionsaufrum um die 10000 Zeilen darzustellen?

        1. Bei 1 bis 10.000 sagt er, es benötige 0,329 Sekunden. Es waren aber 7.
          Bei mir gehts um einiges schneller. Woher hast du die 7?
          Vielleicht ist die Zeit fürs rechnen richtig und der Browser braucht den größten Teil der 7 Sekunden nach dem Funktionsaufrum um die 10000 Zeilen darzustellen?

          7 Sekunden hab ich von meiner Stoppuhr :) Wahrscheinlich hast du Recht klingt ja logisch. Danke.
          Noch etwas: kann mir jemand sagen warum die Seite als unterste Zeile
          640363 ^ 2 = 410064771769
          angibt obwohl ich eingab: von 1234 bis 1234567

          Website

          1. Vielleicht weil du damit den Browser etwas überanstrengst?

            1. Vielleicht weil du damit den Browser etwas überanstrengst?

              Und der entscheidet sich dann dazu einfach irgendwann aufzuhören?

              1. Meiner entscheidet sich mich irgendwann zu fragen ob ich das Script weiter ausführen will.
                Überleg dir wie viele Zeilen du da in das HTMl schreibst.
                Und mach dir mal den Spaß, die Start und Endezeit direkt mit in deine Message zu schreiben. Dann siehst du wann die Rechnerei fertig ist und hast ein Gefühl dafür, wie lang die Anzeige der hunderttausenden Zeilen benötigt.

                1. Meiner entscheidet sich mich irgendwann zu fragen ob ich das Script weiter ausführen will.
                  Überleg dir wie viele Zeilen du da in das HTMl schreibst.
                  Und mach dir mal den Spaß, die Start und Endezeit direkt mit in deine Message zu schreiben. Dann siehst du wann die Rechnerei fertig ist und hast ein Gefühl dafür, wie lang die Anzeige der hunderttausenden Zeilen benötigt.

                  Ja das werd ich mal ausprobieren. Beim mir gut auch irgendwann die frage ob ich das Script noch länger ausführen will. Dann drück ich auf ja als oweiter ausführen lassen. Trotzdem hört er bei der oben genannten zahl einfach auf :(

                  1. Setz den Startwert höher und versuchs nochmal, dann sollte es ein Stück weiter laufen.
                    Du könntest den Seiteninhalt in einer anderen Sprache aufbauen und das dann als feste HTML Datei in den Browser laden, um zu sehen was der dann damit anstellt. Über eine Million Zeilen sind nunmal vielleicht wirklich ein bisschen krass für einen Browser.

  2. Wo liegt das Problem?

    hier ist schon mal eins

    function Los(x, y){
    ...

      			for (i=x; i <= y; i++){  
      				lösung[i] = i*i  
      			}  
      			  
      			  
      			for(i=x; i<= y; i++) {  
      				ausgabe = ausgabe + i +" ^ 2 = " + lösung[i] + "<br/> "  
      			}  
    

    ...

      			}
    
      
    wozu durchläufst du dieselbe Schleife zwei mal?  
    Wenn du das Ergebnis gleich in die Ausgabe schreibst brauchst du zudem nicht einmal ein Array.
    
    1. Wo liegt das Problem?

      hier ist schon mal eins

      function Los(x, y){

      ...

        			for (i=x; i <= y; i++){  
        				lösung[i] = i*i  
        			}  
        			  
        			  
        			for(i=x; i<= y; i++) {  
        				ausgabe = ausgabe + i +" ^ 2 = " + lösung[i] + "<br/> "  
        			}  
      

      ...

        			}
      
      
      >   
      > wozu durchläufst du dieselbe Schleife zwei mal?  
      > Wenn du das Ergebnis gleich in die Ausgabe schreibst brauchst du zudem nicht einmal ein Array.  
        
      Kann man nicht einfach mal die Frage beantworten? Das mit dem 2mal durschlaufen wahr falsch, tschuldigung und das array benutze ich da ich diesen Script öfters mal umbaue um mathematische Probleme zu lösen.
      
      1. Kann man nicht einfach mal die Frage beantworten?

        "Wo liegt das Problem?" - Klever formulierte Frage. Sei doch lieber froh darüber, dass sich Leute die Mühe geben, deinen! Code zu optimieren und sei nicht gleich grantig. Du kannst noch einiges lernen.

        PS: Gewöhn dir mal an irgendwelche Coding-Konventionen zu benutzen. Mal ein Semikolon, mal keins. Mal runde Klammern hinterm Konstruktor, mal keine.

        PPS: Ist "i" eine globale Variable?

        PPPS: Was ist "Los" für ein Name für eine Methode?

  3. Hallo,

    Ich wollte einfach mal herausfinden wie lange mein Script braucht.

    also zunächst mal, weil mir die Formulierung im Thread-Titel die Nackenhaare zu Berge stehen lässt: Es heißt DAS Script.

    Müsste ja eigentlich nicht schwierig sein. Das, was herauskommt ist aber völlig unrealistisch!

    Das mag sein, weil du einfach die Differenz zwischen Ende- und Anfangszeitpunkt nimmst. Dabei berücksichtigst du aber nicht, dass dein Computer in der Zeit noch eine Menge anderer Dinge tut, als nur dein Script zu bearbeiten. Du misst also den Zeitbedarf aller Prozesse in Summe, die da gerade laufen.

    So long,
     Martin

    --
    Kennst du ein eisenhaltiges Abführmittel mit zwölf Buchstaben? - Handschellen.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(