Valentin Wirth: CGI Modul macht Script langsamer

Hallo,

In einigen meiner Perlscript habe ich mir die Formluardaten durch das CGI Modul besorgt. Nun habe ich festgestellt, das diese dadurch Scripte ordentlich langsamer werden, als wenn ich sie selbst auslese.

Dazu habe ich das gesammte CGI Modul eingebunden. Reicht es vielleicht nur einen Teil des doch recht grossen Moduls einzubinden wenn ich wirklich nur die Furmlardaten einlesen will?

Mit freundlichen Grüßen

Valentin

  1. In einigen meiner Perlscript habe ich mir die Formluardaten durch das CGI Modul besorgt. Nun habe ich festgestellt, das diese dadurch Scripte ordentlich langsamer werden, als wenn ich sie selbst auslese.

    Inwiefern "selbst auslesen"? Verwendest du mod_perl? Was ist langsamer? Das "Auslesen" oder nur das Laden des Moduls?

    1. Inwiefern "selbst auslesen"? Verwendest du mod_perl? Was ist langsamer? Das "Auslesen" oder nur das Laden des Moduls?

      Ich bin mir nicht ganz sicher in wie fern es wirklich am CGI Modul liegt aber ich habe gehört (und auch das Gefühl), dass die reine Einbindung des ganzen CGI Moduls das Script verlangsamt (das Modul ist ja auch nicht gerade klein). Da dachte ich mir vielleicht lässt sich ja für meine Aufgabe nur ein Teil des Moduls einbinden.

      Und selber Auslesen meine ich in sofern das in z.B. so read(STDIN, my $data, $ENV{'CONTENT_LENGTH'}); den STDIN auslese und dann selbst nach & und = teile und so weiter.

      mfg Valentin

  2. Hi,

    In einigen meiner Perlscript habe ich mir die Formluardaten durch das CGI Modul besorgt. Nun habe ich festgestellt, das diese dadurch Scripte ordentlich langsamer werden, als wenn ich sie selbst auslese.

    Und unten schreibst du, dass du den EIngabestream selbst parst.
    Frage: Wozu benutzt du das CGI.pm-Modul eigentlich?

    Für simple Ausgabefunktionen, die du mit print machst, brauchst du es naemlich eigentlich nicht wirklich.
    Und es nur wegen des Setzen vom Content-Type zu nutzen, ist wirklich unnoetig.

    Mein Tipp: Wenn du firm bist in Perl, benutz das Modul nur dann wenn du es wirklich brauchst.
    Anfaengern kann man zum Modul raten, da diese viele Dinge, wie das Parsen von Eingabevariablen, nicht hinkriegen.
    Aber wer sich etwas mehr auskennt, braucht das nicht oder kann im Zweifelsfall einfach die notwendigen Funktionen aus CGI.pm kopieren und einbinden.

    Ciao,
     Wolfgang