[PHP] script-battle - warmup: fibonacci-reihe

Dieses Thema im Forum "Webentwicklung" wurde erstellt von teh_boiiingerrr, 24. Mai 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Hab 17 Zeilen PHP Code, mit HTML sind es 36 Zeilen.

    Berechnungszeiten (AMD Athlon 64 3000, 1gb Ram, Windows Vista):
    100: 0.000287055969238
    1000: 0.00342488288879
    1476 (max): 0.00496697425842
    (jeweils Bestwerte von 10 Messungen)
     
  2. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    so mein code hat momentan 19 zeilen ( ohne HTML )

    testsystem:
    AMD Duron 655Mhz
    768MB RAM
    32 Prozesse offen

    und meine zeiten:

    @100 : 0.00122594833374

    @1000 : 0.0181128978729

    @1476 : 0.0594098567963

    ich muss also noch etwas optimierungsarbeit leisten und muss des mal nicht auf meinem firmen pc testen
     
  3. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    also die Performance scheint bei mir irgendwie ziemlich unproportional zuzunehmen je mehr Indizes ich berechnen lasse...

    unter der INF-Grenze hab ich grade mal 0.000944137573242s,
    wenn ich allerdings nur bis Index 6 berechne wesentlich länger im Vergleich zu dem Index proportional.
    Sehr mysteriös das ganze... aber spaßig

    //edit: also ich finde man sollte mehr Indizes als Testkriterium nehmen, um die Genauigkeit zu erhöhen. 10 mal bis 6 ist ja ein Witz ^^ (und sehr unvorteilhaft für mein Skript so wies bis jetzt aussieht XD)
     
  4. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    hmm naja man wird sich was überlegen müssen wie man ne ordentliche zeit herbekommt

    mb 10000mal durchlaufen lassen und dann durchscnittswert ermitteln oder so sollte eigentlich kein problem sein das mess skript darauf zu erweitern
     
  5. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    äm... liegt an der testmethode... der zeitgeber nimmt net sooo genau, was die ms angeht... außerdem kann es auch net proportional sein, da if-abfragen vorher immer durchlaufen werden, egal ob bis index 1, 2 oder 10000...

    würde für die testmethode eigentlich vorschlagen:
    1) einen hohen index
    2) einen LANGSAMEN rechner (z.B. 166mhz )
    3) mehrere durchgänge mit mittelwertbildung...
     
  6. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Nein boing macht das auf einem eigenen system und wird sich schon eine zahl aussuchen ..... die zahlen hier bedeuten nix.

    Ich hoffe ja mal das boing auch noch die quellen postet, möcht sehen wie ihr es gemacht habt.
     
  7. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    jo irgendwie legen alle wert auf geschwindigkeit. aber wenn ich eine rekursive lösung habe ist diese evtl nicht einmal schneller als die iterative.

    aber eine iterative lösung ist nicht so elegant wie die rekursive. eine rekursive lösung braucht viel mehr speicher als eine iterative.

    wird jetzt wert auf die sauberkeit der lösung oder auf die geschwindigkeit gelegt??
     
  8. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Sowohl als auch, warte doch einfach ab bis sonntag. Wobei ich denke, eine rekursive lösung ist hier fehl am platz!

    EDIT: Aber wenn du eine rekursive Schleife nutzt, die deiner Meinung nach eindeutig langsamer ist, dann hast du doch im Endeffekt schon versagt wenn gesagt wird dass die "schönste" Lösung gesucht wird. Denn dann hat man keine rekursive Lösung wie eine rekursive Whileschleife zu nutzen, wenn eine iterierende Forschleife schneller und vielleicht sogar lesbarer ist. Ich will dir jetzt nicht zu nahe treten, aber wenn eine Rekursion dir eleganter erscheint aber zur Aufgabe gegenläufig ist, ist eine Rekursion nicht die Lösung der Aufgabe.

    PS: Ich verstehe immer noch nicht wo bei einer Fibonaccifolge eine Rekursion eleganter ist!?

    EDIT2: Wenn der Zahlenbereich von PHP größer wäre, ist die Rekursion und Iteration vielleicht nicht unbedingt die eleganteste Lösung
     
  9. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    solange niemand was dagegen hat werd ich die auf ne seperate seite klatschen. überleg ich mir bis sonntag, einschließlich umfrage, wer dagegen sein könnte.

    @rekursiv:
    natürlich ist eine rekursive lösung schöner! leider dauert's damit unverhältnismäßig lang, ich hab eigentlich nicht mit einer rekursiven lösung gerechnet (und wurde postitiv überrascht ). genau deswegen hab ich mich nur für die laufzeiten entschieden.

    zu den messungen: es werden bestimmte indizes 10mal durch die scripte gejagt und die durchschnittszeit wird dann übernommen. die zeitschwankungen bei der berechnung sind ja teilweise schlimmer als die stimmungsschwankung der freundin @ pms.
     
  10. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    weil das ein rekusrives problem ist.
    wenn ich natürlich jetzt beide lösungen poste wäre das betrug ^^.

    deswegen lass ich es mal.

    evtl ist die iterative lösung besser , da man die liste ja auch ausgeben muss. aber rekursiv sind das 3 zeilen in einer funktion. das ist natürlich ein wort!

    aber wahrscheinlich kann man da ewig diskutieren ^^.
     
  11. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    @boing, die ganze reihe ausgeben? dann muss ich dir ja nochmal eine version schicken und kann eine Methode knicken ... arg ... oder reicht die ausgabe des ergebnisses des bestimmten indices?

    EDIT: Ok Alles klar mit Rekursion aber ich muss sagen, auch meine Berechnung der Folge mit einer iterative lösung beschränkt sich effektiv auf eine Zeile (In schön mit Einrückungen bei 3 Zeilen). Ist dann in dem Fall Geschmackssache und wird sich dann durch Laufzeit wohl entscheiden.
     
  12. 25. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    ja also 1e zahl kann man ja bequem per formel ausrechnen - das ist dann auch das schnellstmögliche - für die ganze reihe ist die besagte formel von binet aber etwas zeitraubend
     
  13. 26. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    @maken:
     
  14. 26. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Jojo hab ich über lesen, die ausgabe von der ganzen reihe ist aber bei mir nur ein wort mehr von daher, hast es aber shcon bekommen.
     
  15. 26. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    Sie haben Post.
    Mein Script wurde soeben versendet... wenn ich noch nen "tollen" Einfall habe um das ganze zu beschleunigen (was ich jedoch bezweifle.. ) schick ichs hinterher..
     
  16. 26. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    zwischenstand: 10 einsendungen. vergleicht bitte noch die datumsangaben - nicht, dass ich ne falsche version gekriegt hab. wer nicht in der liste steht, bitte nochmal schicken.
    dateigrößen haben sich zwischen 439 und 4.830 bytes eingependelt - was aber nichts zu sagen hat, da manche die zeitklasse auch direkt eingebunden haben. an die, die die kürzeren haben: keine panik, auf die technik kommt's an
     
  17. 26. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    ...bevor ich mein script einsende noch zwei fragen:

    1. Müssen user eingaben überprüft werden??
    2. Wenn der eingegebene index zu hoch (die zahlen der reihe, aus dem wertebereich des datentyps) ist, soll dann ne fehlermeldung kommen, oder trotzdem die reihe berechnet werden??

    mfg opio12
     
  18. 27. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    so, schicht im schacht. ich werd mich die nächsten 2 tage um die auswertung kümmern, hoffe dass alles glatt läuft.
     
  19. 29. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    öhm ich will ja nicht drängeln aber gibts die ergebnisse? ^^
     
  20. 30. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    jaa gell ich bin au neugierig wie gut / bzw. schlecht ich abgeschnitten habe xD
     
  21. 31. Mai 2007
    AW: script-battle - warmup: fibonacci-reihe

    ruhig blut, hab euch nich vergessen. bin nur gerade job-mäßig etwas unter druck, spätestens am WE wird's soweit sein.
     
  22. 4. Juni 2007
    AW: script-battle - warmup: fibonacci-reihe

    Kommt da noch was?
     
  23. 4. Juni 2007
    AW: script-battle - warmup: fibonacci-reihe

    jetzt sei doch net so hektisch der man hat auch ein real life und einen job und das geht nunmal vor. Einfach abwarten und Teee trinken
     
  24. 6. Juni 2007
    AW: script-battle - warmup: fibonacci-reihe

    hab mir das alles ein wenig anders vorgestellt, aber ich muss die auswertungen an jemand anderen weitergeben - komm im moment einfach nicht dazu. hat sich beruflich einiges ergeben, ich bin froh wenn ich in meiner freizeit mal nix mitm webserver zu tun hab.

    wenn jemand lust und zeit hat, sich um den schluß zu kümmern: hier ist das komplette paket an skripten. sorry, geht nicht anders.
     
  25. 7. Juni 2007
    AW: script-battle - warmup: fibonacci-reihe

    hmm okay ich hab morgen nichts zu tun also macht es euch etwas aus wenn ich das dann mache ?!
    mein script werde ich natürlich rausschmeißen damit es fair für alle ist. Wenn irgend jemand einwände hat melde er sich entweder hier oder per pm ^^

    meine Testumgebung:

    OS: Vista Home Premium

    Server: XAMPP Version 1.6.1
    PHP: v 5.2.1
    Apache 2.2.4

    werde, wie teh_boiiingerrr vor hatte auch 10 durchläufe für jedes script machen und daraus den durchschnitt errechnen.

    greetz

    //edit auswertung:

    soo leutz jetzt habe ich (bis auf eines) ausgewertet und schreibe die vorläufige Highscore auf:

    Highscore

    1. Platz: MakenX
    2. Platz: Roadkiller
    3. Platz: Murdoc-4D
    4. Platz: Telefonzelle
    5. Platz: myth2806
    6. Platz: akruel
    7. Platz: m00pd00p
    8. Platz: xPliCt
    9. Platz: Mr.X
    10. Platz: lolkind


    Von meiner Seite aus Herzlichen Glückwunsch MakenX du bist der Beste.
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.