Na ich: Programm beschleunigen

Hallo!

Kurz und schmerzlos: was kann man alles tun damit Programme schneller ausgeführt werden?

Zum beispiel offene Dateien schließen, Dateien direkt auslesen anstatt sie in eine var zu speichern und diese dann auslesen usw. ...

Mfg

  1. Kurz und schmerzlos: was kann man alles tun damit Programme schneller ausgeführt werden?

    use warnings und debugge jede Warning.

    Teste mit Devel:dprof um die Relevanz von zu optimierenden Subroutinen zu erfahren.

    Es gibt einige Tricks, aber Devel:dprof sagt dir, wo du am meisten einsparen kannst.

    Allgemein gilt:
    Referenzen statt Hashes oder Arrays an Subroutinen
    Vermeide @array = <Filehandle>
    substr() ist besser als index() ist besser als m// ist besser als split().
    Optimiere Schleifen.
    Verwende qr//.

    und und und

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    1. Kurz und schmerzlos: was kann man alles tun damit Programme schneller ausgeführt werden?

      Addendum:

      Auf meinem lokalen Testsystem sind Skripte immer etwas langsamer als auf dem Server. das hat zwei Gründe:

      • auf dem Produktionsserver läuft mod_perl, was die Verwendung von CGI (und anderer Standard Module) beschleunigt.
      • auf meinem lokalen Server läuft ein Virenscaner. Wenn man ihm das Scannen bestimmter Ordner nicht untersagt, dann werden Dateien gleich mehrfach gescannt pro Aufruf.
        Insgesamt bleibt der Unterschied aber für ein grosses Script , welches mehrere MB Daten verarbeitet kleiner als gefühlte 1/4 Sekunden.

      Als wichtige Massnahmen wollte ich noch anfügen:
      Tie::File. Dies betrifft zwar eher den Speicherverbrauch. Diesen sollte man aber immer im Auge behalten.
      schlaue Sortier-Algorithmen. Lektüre: A Fresh Look at Efficient Perl Sorting

      mfg Beat

      --
              ><o(((°> ><o(((°>           ><o(((°>
         <°)))o><                     ><o(((°>o
      1. Als wichtige Massnahmen wollte ich noch anfügen:
        Tie::File. Dies betrifft zwar eher den Speicherverbrauch. Diesen sollte man aber immer im Auge behalten.

        Hi.

        Sollte das heissen man sollte auch zum auslesen von Dateien Tie::File nehmen?

        Wenn du oder jemand anderer noch irgendwelche tricks, tipps, hinweise zum Thema schnelligkeit habt dann immer her damit denn das wuerde micht auch sehr interessieren.

  2. Hallo,

    Kurz und schmerzlos: was kann man alles tun damit Programme schneller ausgeführt werden?

    verwende effiziente Algorithmen. Wenn Du ausschließlich solche verwendest, ermittle die Flaschenhälse Deiner Anwendungen und optimiere diese.

    Freundliche Grüße

    Vinzenz

  3. Moin!

    Kurz und schmerzlos: was kann man alles tun damit Programme schneller ausgeführt werden?

    http://perl.apache.org/

    Grüße

    1. Kurz und schmerzlos: was kann man alles tun damit Programme schneller ausgeführt werden?

      http://perl.apache.org/

      Wenn wir davon ausgehen, dass er ein Skript meint, das auf einem Server ausgeführt wird. Allerdings wird dadurch nicht das Skript an sich schneller, sondern der Server kann es schneller ausführen.

      Aber die Fragestellung ist schon seltsam, "kurz und schmerzlos" ist in dem zusammenhang unmöglich.

      Struppi.