Ergebnis 1 bis 6 von 6

Thema: lade zeit zu überschreiten PHP

  1. #1
    HTML Newbie
    Registriert seit
    01.03.2007
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard lade zeit zu überschreiten PHP

    Hi. ich habe ein code entwickelt, der deutlich die ladezeit überschreitet. gibt es eine möglichkeit die ladezeit zu umgehen? mit header funktioniert das anscheiend nicht.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    http://www.pokerstrategy.uk.tt größte pokerschule der Welt

  2. #2
    phpfan
    Gast

    Standard

    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.

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    01.03.2007
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Code:
    <?php
    ob_start&#40;&#41;;
    $M_HOST = "lxxxx";
    $M_USER = "xxxx";
    $M_PASS = "xxx";
    $M_DATA = "xxxx";
    function dbcon&#40;$host, $user, $pass, $data&#41; &#123;
    $connect= mysql_connect&#40;$host, $user, $pass&#41; or die&#40;"Konnte keine Verbindung zum Datenbankserver aufbauen!"&#41;;
    $selectDB= mysql_select_db&#40;$data, $connect&#41; or die&#40;"Konnte die Datenbank ".$data." nicht auswählen!"&#41;;
    &#125;
    dbcon&#40;$M_HOST,$M_USER,$M_PASS,$M_DATA&#41;;
    $karten&#91;&#93; = "Ah";
    $karten&#91;&#93; = "Kh";
    $karten&#91;&#93; = "Qh";
    $karten&#91;&#93; = "Jh";
    $karten&#91;&#93; = "Th";
    $karten&#91;&#93; = "9h";
    $karten&#91;&#93; = "8h";
    $karten&#91;&#93; = "7h";
    $karten&#91;&#93; = "6h";
    $karten&#91;&#93; = "5h";
    $karten&#91;&#93; = "4h";
    $karten&#91;&#93; = "3h";
    $karten&#91;&#93; = "2h";
    $karten&#91;&#93; = "Ac";
    $karten&#91;&#93; = "Kc";
    $karten&#91;&#93; = "Qc";
    $karten&#91;&#93; = "Jc";
    $karten&#91;&#93; = "Tc";
    $karten&#91;&#93; = "9c";
    $karten&#91;&#93; = "8c";
    $karten&#91;&#93; = "7c";
    $karten&#91;&#93; = "6c";
    $karten&#91;&#93; = "5c";
    $karten&#91;&#93; = "4c";
    $karten&#91;&#93; = "3c";
    $karten&#91;&#93; = "2c";
    $karten&#91;&#93; = "Ak";
    $karten&#91;&#93; = "Kk";
    $karten&#91;&#93; = "Qk";
    $karten&#91;&#93; = "Jk";
    $karten&#91;&#93; = "Tk";
    $karten&#91;&#93; = "9k";
    $karten&#91;&#93; = "8k";
    $karten&#91;&#93; = "7k";
    $karten&#91;&#93; = "6k";
    $karten&#91;&#93; = "5k";
    $karten&#91;&#93; = "4k";
    $karten&#91;&#93; = "3k";
    $karten&#91;&#93; = "2k";
    $karten&#91;&#93; = "Ap";
    $karten&#91;&#93; = "Kp";
    $karten&#91;&#93; = "Qp";
    $karten&#91;&#93; = "Jp";
    $karten&#91;&#93; = "Tp";
    $karten&#91;&#93; = "9p";
    $karten&#91;&#93; = "8p";
    $karten&#91;&#93; = "7p";
    $karten&#91;&#93; = "6p";
    $karten&#91;&#93; = "5p";
    $karten&#91;&#93; = "4p";
    $karten&#91;&#93; = "3p";
    $karten&#91;&#93; = "2p";
    $hand = 0;
    $hand2 = 0;
    $flop = 0;
    $flop2 = 0;
    $flop3 = 0;
    $turn = 0;
    $river = 0;
    while &#40;$hand < 52&#41; &#123;
    $karte1 = $karten&#91;$hand&#93;;
        while &#40;$hand2 < 52&#41; &#123;
            if &#40;$hand != $hand2&#41; &#123;
            $karte2 = $karten&#91;$hand2&#93;;
                while &#40;$hand3 < 52&#41; &#123;
                    if &#40;$hand != $hand3 and $hand3 != $hand2&#41; &#123;
                    $karte3 = $karten&#91;$hand3&#93;;
                        while &#40;$hand4 < 52&#41; &#123;
                            if &#40;$hand != $hand4 and $hand4 != $hand2 and $hand3 != $hand4&#41; &#123;
                            $karte4 = $karten&#91;$hand4&#93;;
                                while &#40;$hand5 < 52&#41; &#123;
                                    if &#40;$hand != $hand5 and $hand5 != $hand2 and $hand3 != $hand5 and $hand4 != $hand5&#41; &#123;
                                    $karte5 = $karten&#91;$hand5&#93;;
                                        while &#40;$hand6 < 52&#41; &#123;
                                            if &#40;$hand != $hand6 and $hand6 != $hand2 and $hand3 != $hand6 and $hand4 != $hand6 and $hand5 != $hand6&#41; &#123;
                                            $karte6 = $karten&#91;$hand6&#93;;
                                                while &#40;$hand7 < 52&#41; &#123;
                                                    if &#40;$hand != $hand7 and $hand7 != $hand2 and $hand3 != $hand7 and $hand4 != $hand7 and $hand5 != $hand7 and $hand6 != $hand7&#41; &#123;
                                                    $karte7 = $karten&#91;$hand7&#93;;
                                                    $registrieren = "INSERT INTO
                                                                            poker
                                                                               &#40;hand,hand2,flop,flop2,flop3,turn,river&#41;
                                                                            VALUES
                                                                            &#40;'".$karte1."','".$karte2."','".$karte3."','".$karte4."','".$karte5."','".$karte6."','".$karte7."'&#41;;";
                                                    $registrieren2 = mysql_query &#40;$registrieren&#41; or die &#40;mysql_error&#40;&#41;&#41;;
                                                    &#125;
                                                $hand7++;
                                                &#125;
                                            &#125;
                                        $hand6++;
                                        $hand7 = 0;
                                        &#125;
    
                                    &#125;
                                $hand5++;
                                $hand6 = 0;
                                &#125;
                            &#125;
                        $hand4++;
                        $hand5 = 0;
                        &#125;
                    &#125;
                $hand3++;
                $hand4 = 0;
                &#125;
            &#125;
        $hand2++;
        $hand3 = 0;
        &#125;
    $hand++;
    $hand2 = 0;
    &#125;
    ?>
    (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.
    http://www.pokerstrategy.uk.tt größte pokerschule der Welt

  4. #4
    phpfan
    Gast

    Standard

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

  5. #5
    Interessierte/r
    Registriert seit
    13.05.2007
    Ort
    Sachsen
    Beiträge
    127
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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 ...

  6. #6
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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 und memory_limit auf 1GB)
    5. Browser öffnen und anfangen

    Es gibt Leute die erstellen Rainbow Tables andere wollen jede Hand vom Pokern
    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

    max_execution_time = 45
    memory_limit 16M
    Facebook Gruppe: Böses Encoding

Ähnliche Themen

  1. Wo lade ich den Styl hoch?
    Von BoXx im Forum Webanwendungen - Webapplikationen
    Antworten: 6
    Letzter Beitrag: 14.03.2008, 15:25
  2. Msn Lade & Änderungsproblem
    Von im Forum Computer - Internet Forum
    Antworten: 0
    Letzter Beitrag: 19.06.2007, 23:48
  3. Wie lade ich meine Website ins Internet?
    Von adi_b im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 29.03.2006, 18:26
  4. wamit und wie lade ich meine HP hoch
    Von rockstar990 im Forum HTML & CSS Forum
    Antworten: 9
    Letzter Beitrag: 11.08.2005, 00:14
  5. Lade nur einen Teil neu
    Von masterman im Forum HTML & CSS Forum
    Antworten: 7
    Letzter Beitrag: 16.07.2004, 13:51

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •