Geschwindigkeit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Geschwindigkeit

    Mal ein Brainsorming über die Geschwindigkeit von Scripten.
    Was man es machen sollte und man es nicht machen sollte.

    Hab von dem Thema nähmlich keine Ahnung


    Floriam
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

  • #2
    eine unnätigen schleifen,
    keine sinnlosen queries an die DB,
    beim auslesen aus einer DB nur spalten angeben, die mal auch braucht.
    OOP verwenden

    mehr fällt mir spontan nciht ein..
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Glaub, mir ist doch was eingefallen:

      Nicht:
      PHP-Code:
      if($foo == "") {
         echo 
      "Das und das";
      } if(!
      $foo == "") {
         echo 
      "Dies und das";

      Sondern:
      PHP-Code:
      if($foo == "") {
         echo 
      "Das und das";
      } else {
         echo 
      "Dies und das";

      Bringt das was?
      PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

      Kommentar


      • #4
        klar. denn das andere ist ja müll. und von der einrückung her müsste es ja so aussehen.

        PHP-Code:
        if($foo == "") {
           echo 
        "Das und das";
        }

        if(!
        $foo == "") {
           echo 
        "Dies und das";

        und dein 'neues' beispiel sieht so aus. es wird NUR EINMAL ein if geprüft und dann das passende ausgeführt. im o.g. beispiel musst du 2x ein if prüfen. das bringt schon was, wenn auch nicht sooo viel.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          @Abraxax ich bevorzuge zwar auch OOP, aber wenn es um Geschwindigkeit geht, ist OOP sicherlich langsamer als wenn man nur
          Funktionen einsetzt (aufrund des Verwaltungsaufwandes den OOP für den PHP-Interpreter mit sich bringt)

          gruss

          rth
          H I L F E
          GD FreeType Antialising
          Gesuch PHP Entwicklungsumgebung
          ------------------------------------------
          Der Cmabrigde rael tset, sruf whoin du wlilst

          Kommentar


          • #6
            ach ja? dann frag mal TBT wie lahm seine script als fkts arbeiten würden, wenn er nicht OOP einsetzen würde.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Das Script würde ich wirklich gerne sehen, und wenn ist es sicherlich ne ausnahme. OOP drückt die Laufzeit eines scriptes, und macht es nicht schneller, das ist so (und ausnahmen bestätigen ja die Regel

              gruss

              rth
              H I L F E
              GD FreeType Antialising
              Gesuch PHP Entwicklungsumgebung
              ------------------------------------------
              Der Cmabrigde rael tset, sruf whoin du wlilst

              Kommentar


              • #8
                Also wenn man strikt OO in PHP programmiert mit allen SET und GET methoden, dann ist das sicher langsamer als mit Funktionen.

                Noch ist PHP als prozedurale Sprache für echte OO nicht wirklich geeignet. Version 5 solls ja dann bringen.

                Ich benutze OO in PHP nur, wenn ich Funktionen überladen will.
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Hier noch Link, wo sich jemand die Mühe gemacht hat, die Laufzeit von Schleifenvarianten zu vergleichen.

                  http://www.blueshoes.org/phpBench.php


                  gruss

                  rth
                  H I L F E
                  GD FreeType Antialising
                  Gesuch PHP Entwicklungsumgebung
                  ------------------------------------------
                  Der Cmabrigde rael tset, sruf whoin du wlilst

                  Kommentar


                  • #10
                    Was ist schneller wenn man zwischen groß und kleinschreibung achtet, ereg_replace oder eregi_replace?
                    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                    Kommentar


                    • #11
                      wenn du das ausgangsformat genau kennst solltest du ereg() verwenden.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Ich will aber Text ersetzen, und dafür ist ereg() (soweit ich weiß) nicht da...


                        Floriam
                        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                        Kommentar


                        • #13
                          Original geschrieben von Floriam
                          PHP-Code:
                          if($foo == "") {
                             echo 
                          "Das und das";
                          } if(!
                          $foo == "") {
                             echo 
                          "Dies und das";

                          PHP-Code:
                          if($foo == "") {
                             echo 
                          "Das und das";
                          } else {
                             echo 
                          "Dies und das";

                          Ausserdem kommts da drauf an, was Du überhaupt machen willst! -> Ob sich zwei Möglichkeiten ausschliessen sollen oder nicht.
                          (Wollt ich nur angemerkt wissen)
                          Also fällt man die Entscheidung zwischen den obigen Möglichkeiten wohl kaum nach Geschwindigkeit, sondern nach Sinn und Zweck des Scripts.

                          Kommentar


                          • #14
                            Original geschrieben von Abraxax
                            OOP verwenden
                            Du meinst sicherlich kein OOP verwenden.
                            OOP macht ein Script nur langsamer.


                            @Floriam: Ich würde auf die ereg_* Funktionen verzichten. Benutze lieber PCRE (preg_replace). Die sind auch schneller.
                            [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                            [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                            [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                            © Harald Schmidt

                            Kommentar


                            • #15
                              Original geschrieben von Troublegum
                              Du meinst sicherlich kein OOP verwenden.
                              OOP macht ein Script nur langsamer.
                              Ich weiß ja nicht, wie ihr alle darauf kommt,
                              aber meine OO Projekte sind um ein vielfaches schneller als
                              prozedural programmierte Teile.

                              In einem direkten Vergleich kam ein Performanceschub von 300%.
                              Dort habe ich eine große Seite, basierend auf 6 DB Abfragen und
                              jede Menge if-else-Anweisungen.

                              Das prozedurale Script brauchte für den kompletten Aufbau 140ms,
                              vieles wahrscheinlich auch durch die vielen Parameterübergaben an
                              die einzelnen Funktionen.

                              Das OO Script ( komplett OO Code! ) baut genau die selbe Seite
                              mit all dem Schnickschnack, ist aber bereits nach 45ms fertig

                              Und da soll nochmal einer sagen, OO wäre langsamer.

                              PS: laut Ankündigung läuft OO Code mit PHP5 mindestens 50% schneller als jetzt
                              TBT

                              Die zwei wichtigsten Regeln für eine berufliche Karriere:
                              1. Verrate niemals alles was du weißt!


                              PHP 2 AllPatrizier II Browsergame

                              Kommentar

                              Lädt...
                              X