Re: @Perl-Cracks Sub oder 2mal interpolieren - was ist besser? - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 30.April.2003, 22:55.
    Re: @Perl-Cracks Sub oder 2mal interpolieren - was ist besser?

      Du kannst das ganz einfach selbst testen - Dich interessiert sowas ja öfter ;-) Ich glaube nich dass Optimiererei bei so nem Fitzelkram wirklich was bringt, aber ich verstehe das Interesse des Wissens-Wollens dahinter ;-) Die Verwendung von Hashes ist z.b. ggü. einem Array um das 4- bis 5-fache langsamer -- nur: davon merkt man erst was wenn man das Zeugs 100.000 Mal durchläuft ;-)

      Hier der Testcode:

      $n=100000;
      for($i=0; $i<$n; $i++)
      {
       $x[$i]++;
      }
      

      $t=runtime;
      out "Laufzeit: $t - Zeit/Operation: ".($t/$n);
      

      Entsprechend die Zeile in der Schleife für den Hash:

      $x{$i}++;
      

      Mit der obigen Schleife kannst Du alle Deine Fragen beantworten ,-)

      Achtung: Die Angabe "100000" hängt stark davon ab was der Code da drin macht, also von unten herantasten, also mit 100 anfangen und dann auf 1000 erhöhen etc., bis runtime Werte so um ein paar Sekunden auswirft. Dann kann man die Zahlen vergleichen ,-) Und bitte nur Nachts ausprobieren ;-)

      PS: Am sinnvollsten bzgl. Optimierung ist es, sich einen besseren Algorithmus auszudenken ;-))


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von hempelr (1976 Beiträge) am Dienstag, 29.April.2003, 12:36.
    @Perl-Cracks Sub oder 2mal interpolieren - was ist besser?

      Hallo,
      Im Interesse der Laufzeit eine kurze Frage:
      Was ist besser:
      $a = "blabla ${\convert_br( ${ \convert_links($Text)})} blablaweiter";
      
      oder das ganze über ne "Zwischenvar" hintereinander in der Art:
      $zv = convert_br($Text); $zv = convert_links($zv);
      oder auf sich selbst hintereinander:
      $Text = convert_br($Text); $Text = convert_links($Text);
      
      oder aber mit ner Sub:
      sub convert_brlinks{
       my @cv_back;
       my @cv_liste = @_;
        foreach $cv_string(@cv_liste){
          my $t = convert_links($cv_string);
          $t = convert_br($t);
          push (@cv_back, $t);
        }
        return (@cv_back);
      }
      
      und dann "einfach" interpoliert:
      $a = "blabla${ \convert_brlinks($Text) } blablaweiter";
      oder auch lieber über ne Zwischenvar?
      Hab umfangreiche Text-Datenfeldinhalte entsprechend mehrfach auszugeben, da wäre es schon gut zu wissen, wo man ein paar tausendstel sparen kann....
      (aber bitte - nicht extra wegen mir "erforschen" - das könnte ich auch, hab aber im Mom knappe Zeit...)
      Danke Ruben

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 30.April.2003, 22:55.
    Re: @Perl-Cracks Sub oder 2mal interpolieren - was ist besser?

      Du kannst das ganz einfach selbst testen - Dich interessiert sowas ja öfter ;-) Ich glaube nich dass Optimiererei bei so nem Fitzelkram wirklich was bringt, aber ich verstehe das Interesse des Wissens-Wollens dahinter ;-) Die Verwendung von Hashes ist z.b. ggü. einem Array um das 4- bis 5-fache langsamer -- nur: davon merkt man erst was wenn man das Zeugs 100.000 Mal durchläuft ;-)

      Hier der Testcode:

      $n=100000;
      for($i=0; $i<$n; $i++)
      {
       $x[$i]++;
      }
      

      $t=runtime;
      out "Laufzeit: $t - Zeit/Operation: ".($t/$n);
      

      Entsprechend die Zeile in der Schleife für den Hash:

      $x{$i}++;
      

      Mit der obigen Schleife kannst Du alle Deine Fragen beantworten ,-)

      Achtung: Die Angabe "100000" hängt stark davon ab was der Code da drin macht, also von unten herantasten, also mit 100 anfangen und dann auf 1000 erhöhen etc., bis runtime Werte so um ein paar Sekunden auswirft. Dann kann man die Zahlen vergleichen ,-) Und bitte nur Nachts ausprobieren ;-)

      PS: Am sinnvollsten bzgl. Optimierung ist es, sich einen besseren Algorithmus auszudenken ;-))

     Antworten


     
 Liste der Einträge von 38400 bis 38550:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!