Netti2002: Performance

Hallo!

Was meint Ihr,
hat ein Script, was in Perl geschrieben
ist [für eine Internet-Anwendung] und via
cgi läuft eine bessere Performance als
ein Script [für die selbe Internet-Anwendung] was
in php geschrieben ist und halt ganz normal
über php läuft??
Oder ist es genau andersrum, oder nimmt sich
beides nicht viel??
Zu sagen ist zu diesem Script noch, dass es viele
Postgresql-Datenbankzugriffe hat.

Was ist da also optimaler, php mit postgresql-Zugriffen
oder cgi-perl und postgresql.

Dankbar für Infos!

  1. Hi,

    Was meint Ihr,
    hat ein Script, was in Perl geschrieben
    ist [für eine Internet-Anwendung] und via
    cgi läuft eine bessere Performance als
    ein Script [für die selbe Internet-Anwendung] was
    in php geschrieben ist und halt ganz normal
    über php läuft??

    was meinst Du, ist ein rotes Auto schneller als ein blaues?

    Das ganze hängt von sehr vielen Faktoren ab - so viele, dass ich gar nicht erst anfangen will, eine Liste zu beginnen. So viel Zeit hab ich nicht.

    Cheatah

    1. Danke für deine nette Antwort.

    2. Hallo Cheatah !

      Diese bescheuerte Antwort hättest Du dir sparen können. Mein
      Tip an Dich ist: Antworte besser gar nicht wenn Du nur so
      Geblubbere von Dir gibst. Oder hast Du etwa doch so viel Zeit.
      Das musste mal gesagt werden. Und bitte nicht wieder die Story, von
      wegen wenn Du so lange im Forum dabei wärst wie ich ...

      Eine Diskussion, ob die Frage von Netti2002 Sinn macht, richtig gestellt wurde oder zu wenig recherchiert wurde, FAQ nicht gelesen etc. braucht gar nicht erst angefangen zu werden. das ist nicht das
      Thema.

      Viele Grüße aus München

      Jo (einer der schon lange im Forum mitliest)

      1. Hallo Jo,

        Diese bescheuerte Antwort hättest Du dir sparen können.

        Wer im Glaushaus sitzt...

        Gruesse,
         CK

        1. Hallo CK !
          Von der Seite her könnte es jetzt einen JoJo-Effekt geben.
          Denn einer sitzt ja dann immer im Glashaus. Du mit Deiner
          Antwort auf meine und nun ich wieder mit meiner Antwort auf deine.
          Aber ich denke mit meiner Meinung über Cheatahs Antwort stehe
          ich nicht alleine da.

          Grüße aus München

          Jo

          1. Moin!

            Aber ich denke mit meiner Meinung über Cheatahs Antwort stehe
            ich nicht alleine da.

            Cheatahs Antwort bestand essentiell darin, daß man es nicht pauschal sagen kann. Garniert mit einem Vergleich über farbige Autos, bei denen man es auch nicht sagen kann.

            Genau das würde ich auch sagen, erweitert um die Aufforderung: "Probier es doch einfach mal aus!" Insofern verstehe ich deinen Einwand hier nicht.

            - Sven Rautenberg

            1. Hallo.
              Wenn ich mich hier auch noch einmal kurz einmischen darf.
              Also ich entschuldige mich hiermit nochmal, dass ich Euch
              mit einer Dau-Frage belästigt habe und die Zeit gestohlen habe.
              Es wird nicht wieder vorkommen. In Zukunft werde ich hier
              keine Fragen mehr posten. Das soll jetzt nicht als ein Angriff
              an Euch gewertet werden, ich ziehe einfach nur meine Konsequenzen

              Aber was meine Frage betrifft, so sehe ich sie nun nicht ganz
              so "schlimm" wie die mit dem Autovergleich.
              Denn man kann ja ganz allgemein, wie ich nun mittlerweile
              weiss, sagen, dass cgi generell langsamer ist im Vergleich zu
              PHP oder auch Perl als Modul. Das hätte mir schon weitergeholfen,
              sollte es doch nur ein kleiner Erfahrungs- und Wissensaustausch sein.

              Deswegen hat mich die Aussage von Cheatah schon ein wenig
              "verletzt", wollte ich doch nun wirklich ihm und auch niemand
              anderen hier seine Zeit stehlen mit meiner Frage.

              Gut, wie dem auch sei, es wird hier nicht mehr vorkommen.

              Einen schönen Abend Euch allen noch!

              1. Hi,

                Also ich entschuldige mich hiermit nochmal, dass ich Euch
                mit einer Dau-Frage belästigt habe und die Zeit gestohlen habe.

                Es ist kein Problem, daß Du irgendwas nicht weißt - denn um das zu
                erkennen ist eine Frage im Forum wirklich ein sehr geeigneter Ort.

                Es wird nicht wieder vorkommen. In Zukunft werde ich hier
                keine Fragen mehr posten. Das soll jetzt nicht als ein Angriff
                an Euch gewertet werden, ich ziehe einfach nur meine Konsequenzen

                Überlege Dir das bitte nochmal. Es ist einfach nicht notwendig, daß
                Du Dich jetzt irgendwie schuldig fühlst oder so.

                Aber was meine Frage betrifft, so sehe ich sie nun nicht ganz
                so "schlimm" wie die mit dem Autovergleich.

                Ich finde den Auto-Vergleich nicht "schlimm", sondern sehr treffend.

                Denn man kann ja ganz allgemein, wie ich nun mittlerweile
                weiss, sagen, dass cgi generell langsamer ist im Vergleich zu
                PHP oder auch Perl als Modul. Das hätte mir schon weitergeholfen,
                sollte es doch nur ein kleiner Erfahrungs- und Wissensaustausch sein.

                Deine Fragestellung hat aber explizit SQL-Zugriffe genannt.
                Und deshalb lautet die Antwort im Wesentlichen, daß es auf die gewählte
                Programmiersprache in Deinem Fall (!) eben gerade nicht ankommen wird.

                Einerseits sind mit sehr hoher Wahrscheinlichkeit die Datenbankzugriffe
                wirklich deutlich langsamer als der Rest.

                Und andererseits kannst Du überhaupt nicht Perl mit PHP vergleichen,
                sondern lediglich eine bestimmte Perl-Installation mit einer bestimmten
                PHP-Installation.
                Denn sowohl Perl als auch PHP lassen sich sowohl via CGI als auch in
                Form eines in den Webserver eingebetteten Moduls ansprechen - wobei
                wahrscheinlich die Modul-Versionen etwas (!) schneller sind als die CGI-
                Versionen, weil sie bestimmte Dinge cachen - aber bei Perl beispielsweise
                gleichzeitig einen saubereren Programmierstil erzwingen, weil mod_perl
                etwa fehlende Initialisierungen mit dem Nichtfunktionieren des Programms
                bestrafen könnte usw.
                Also: Keine Rose ohne Dornen.

                Viele Grüße - und bis zur nächsten Frage
                      Michael

              2. Hallo Netti2002!

                Denn man kann ja ganz allgemein, wie ich nun mittlerweile
                weiss, sagen, dass cgi generell langsamer ist im Vergleich zu
                PHP oder auch Perl als Modul.

                Sorry wenn das so rübergekommen ist, aber so ist das falsch.

                Beispiel: CRC-Berechnung über eine 250KDatei... dauert in PHP so 30sec (400MHz PII) in Perl ca. das gleiche, auch als Modul.
                In C unter eine Sekunde + 10ms für cgi, den C-Prozess starten ...

                Ausserdem dürften die Unterschiede zwischen verschieden gut konfigurierten, ausgestatten und ausgelastetenen Servern eine grössere Rolle spielen als die eventuelle nötige Erzeugung eines Perl-Prozesses.

                Es kommt eben auf die Details an, und zwar verdammt viele. Es gibt kein einfaches Fazit.

                Das Fazit sollte eigentlich sein das du es bei deinem (von mir geratenen) Kentnisstand weder entscheiden kannst noch das es irgendeine Bedeutung für deine Projekte haben sollte. Es gibt einfach wichtigere 'Baustellen'.

                Gruss,
                 Carsten

              3. Hi,

                Also ich entschuldige mich hiermit nochmal, dass ich Euch
                mit einer Dau-Frage belästigt habe und die Zeit gestohlen habe.
                Es wird nicht wieder vorkommen. In Zukunft werde ich hier
                keine Fragen mehr posten. Das soll jetzt nicht als ein Angriff
                an Euch gewertet werden, ich ziehe einfach nur meine Konsequenzen
                Aber was meine Frage betrifft, so sehe ich sie nun nicht ganz
                so "schlimm" wie die mit dem Autovergleich.

                [...]

                es war keine DAU-Frage, und sie war auch nicht schlimm. Sie lässt sich nur einfach nicht beantworten, das ist alles. Wenn Du ins Detail gehst und genauer beschreibst, was Du eigentlich machst, _wie_ Du es machst, wie das System aussieht, seine Anbindung an die DB usw. usw., dann kann man vielleicht auch etwas sagen.

                Und ganz bestimmt wollte ich Dich hier nicht vertreiben!

                Denn man kann ja ganz allgemein, wie ich nun mittlerweile
                weiss, sagen, dass cgi generell langsamer ist im Vergleich zu
                PHP oder auch Perl als Modul.

                Das ist leider auch nicht unbedingt richtig - zumal Du hier von Performance redest, nicht ausschließlich von Geschwindigkeit. Eine Modulvariante hat mehrere Konsequenzen gegenüber einer CGI-Variante, die z.B. den verwendeten Arbeitsspeicher betrifft; oder es ist eine andere Art der Programmierung nötig, bestimmte Dinge lassen sich erst dann oder auch nicht mehr tun usw.

                Das hätte mir schon weitergeholfen,

                Ein Irrtum hilft nur selten weiter :-)

                Deswegen hat mich die Aussage von Cheatah schon ein wenig
                "verletzt",

                Das tut mir leid. Dich zu verletzen lag nicht in meiner Absicht.

                Cheatah

      2. Hi,

        Diese bescheuerte Antwort hättest Du dir sparen können.

        tatsächlich? Netti2002 weiß jetzt, dass sehr viel mehr Details genannt werden müssen, um irgendeine Aussage treffen zu können. Hätte ihm das niemand gesagt, würde er sich vermutlich über die nur wenig unpauschalen Antworten wundern.

        Oder hast Du etwa doch so viel Zeit.

        Weißt Du, wie lang die Liste der potentiellen Faktoren ist, und wie wenige davon in der Regel eine Bedeutung haben?

        Und bitte nicht wieder die Story, von
        wegen wenn Du so lange im Forum dabei wärst wie ich ...

        Wenn jemand Kompetenz zeigt oder in irgendeiner Form hilfreich ist, ist es vollkommen egal, wie lange er "dabei" ist. Von Dir sehe ich hier weder das eine noch das andere - aber vielleicht habe ich ja einfach nicht gut genug gesucht?

        Eine Diskussion, ob die Frage von Netti2002 Sinn macht, richtig gestellt wurde oder zu wenig recherchiert wurde, FAQ nicht gelesen etc. braucht gar nicht erst angefangen zu werden.

        Das habe ich auch nie versucht.

        Cheatah

  2. Hallo Netti2002!

    [hat ein script in] Perl ... eine bessere Performance
    als ... [eins in] php?

    Wenn PHP als Modul läuft (bei Puretec tut es das AFAIR nicht) dann hat es einen 'Startvorteil', d.h. kleine Scripte laufen etwas fixer los.

    Zu sagen ist zu diesem Script noch, dass es viele
    Postgresql-Datenbankzugriffe hat.

    Dann dürfte der Datenbankzugriff einen nennenswerten Teil ausmachen und da ist es wohl egal welche Sprache das macht.

    Was ist da also optimaler, php mit postgresql-Zugriffen
    oder cgi-perl und postgresql.

    Im Zweifel hilft nur ausprobieren.

    Das Result wird wahrscheinlich sein, dass es sich nix nimmt.

    Genauso wahrscheinlich lässt sich die Performace deiner Anwendung um den Faktor 2 steigern, indem man die Logik der Anwendung optimiert.
    Aber ob das überhaupt nötig ist?
    Sollte deine Anwendung Performanceprobleme zeigen wird eine andere Sprache da eher nix dran ändern, es sei denn du hast eine Schwachstelle einer Implementierung erwischt.

    Die Anwendung in deiner Lieblingssprache zu schreiben wird es dir auf jeden Fall erleichtern sinnvolle Programmkonstrukte zu erstellen und wenn nötig auch einen komplizierteren aber effizienteren Algorithmus zu benutzen.

    Letzlich wird Performance IMHO oft an den falschen Stellen überbewertet. Wieviele Leute optimieren an Ausdrücken rum die überhaupt nicht nennenswert zur Laufzeit beitragen?

    Gruss,
     Carsten

    1. Hallo Carsten!!

      Danke, du hast mir mit Deiner Antwort einen Schritt
      in meinen Überlegungen weitergebracht.

      Vielen Dank!