lade zeit zu überschreiten PHP

  • Wie wär's mit Script optimieren? ini_set mit max_execution_time könnte helfen, muss aber nicht. Wenn du Zugriff auf die php.ini hast, kannst du den Wert darin erhöhen.

  • (ich hoffe es bliebt formartiert)
    das ist ein script, das ich geschrieben habe um jede mögliche endhand im poker zu
    ermitteln. leider ist das problem, dass ca 374,2 Millarden Möglichkeiten, exestieren wie sie erscheinen. es können abe rnur ca 1,3 Millionen auf einmal in eine mysql tabelle geschrieben werden. dann wird es unterbrochen.

    meine idee ist: es ist doch egal, ob ich auf meiner hand Ac und Dh oder Dh und Ac halte. Da würde sich die zahl der möglichen hände schon mal halbieren. außerdme ist es doch wurscht ob im flop Ac Dh Th oder Dh Ac Th liegt. somit wäre die zahl wieder 6 mal kleiner. also im endeffekt 12 mal kleiner. hat eienr ne idee wie ich es im script um setzen könnte?

    außerdem habe ich berechnet, dass wenn in 10 sekunden 1,5 millionen einträge geschrieben werden, dass es nur noch ca 1,7 stunden übrig bleiben würden.

  • Es gibt Dinge, da ist PHP einfach nicht die richtige Wahl und das trifft hier auch zu.

  • phpfan, ich gebe dir Recht, für soetwas ist PHP einfach ungeeignet, aber es ist machbar.
    Einfach so, als technische Herausforderung.
    Man könnte zum Beispiel versuchen das Skript nach 30 sek zu unterbrechen, alle Variablen abspeichern und dann das Skript mit eben diesen Variablen neu aufrufen. Das alles ähnlich wie ein Multithreading-Betriebssystem, welches ja auch Programme unterbricht und nach und nach wieder aufruft.

    MfG Boman

    Es gibt zwei Regeln fuer Erfolg im Leben:
    1. Erzaehle den Leuten nie alles, was Du weisst ...

  • loool
    Wie wärs mit
    1. Platz auf der Platte machen. (die DB wird nicht kleiner :) )
    2. Alle Programme schliessen
    3. TaskManager oder Terminal->Top aufmachen
    4. php.ini anpassen (max_execution_time mal auf 9999 :D und memory_limit auf 1GB)
    5. Browser öffnen und anfangen :D

    Es gibt Leute die erstellen Rainbow Tables andere wollen jede Hand vom Pokern :D
    Mach das mit einer Hardware näheren Sprache z.B. C++ oder Java aber ned PHP.
    Was für Begrenzungen in der Sicht beim Mysql stehen weiss ich nicht.
    _

    Ich war so freilich und probierte das ganze mal aus.
    Eckdaten der Messung:
    Client: Ubuntu 7.04
    1GB Ram + Amd Athlon 64 3500+
    Firefox 2.0.0.4

    Server:
    Apache2 + PHP5
    Debian Etch 64 Bit
    In ner VM!
    1GB RAM + AMD Athlon 64 3700+

    Zusätzlich alles Mysql zeugs aus deinem Script entfern und einen Echo auf $karte1 bis $karte 7.
    Normalerweise brauchen meine Dienste auf dem Server zusammen 0% CPU Auslasstung bei dem Script war der Höhepunkt um die 4.4% CPU und 1%Ram also 10MB
    Client *g*
    Firefox brauchte 98% der CPU und 95% vom RAM :D

    max_execution_time = 45
    memory_limit 16M ;)