2012-03-25 13 views
1

Welche verschiedenen Methoden können verwendet werden, um Perl anders zu kompilieren, so dass die Performance von Perl-Skripten, die auf diesem Computer ausgeführt werden, tatsächlich verbessert wird? Obwohl veraltet, http://dan.corlan.net/bench.html, scheint darauf hinzuweisen, dass verschiedene Leistungsergebnisse erreicht werden können, durch die Dinge anders zu kompilieren. Ist das der Fall, oder verstehe ich etwas falsch?Perl für Performance kompilieren

Gibt es Leistungssteigerungen, wenn Sie kein Standard-Perl-Paket verwenden (oder eines, das standardmäßig unter Linux installiert ist)?

+6

[Bitte beachten Sie die Regeln des Optimization Club] (http://stackoverflow.com/a/177132/554546). –

+3

Haben Sie eine Perl-Anwendung, die wegen der Zeit, die zum Ausführen benötigt wird, Probleme verursacht? – Borodin

+1

@Borodin Mein Interesse liegt eher darin, dass das Programm weniger Zeit benötigt, um zu laufen, so dass es weniger CPU-Zeit benötigt, was es mir ermöglicht, mehr auf der Maschine zu tun. – GoldenNewby

Antwort

2

Ich habe das nie gemessen, aber ich wurde dazu gebracht zu glauben, dass ohne Thread kompilierte Perl 10% schneller ist. Ich bin mir nicht sicher, ob dies "im Durchschnitt" oder "bestimmte Operationen" ist oder ob es überhaupt stimmt.

Das Perl, das mit den meisten (oder allen?) Linux-Distributionen geliefert wird, wurde mit Threads kompiliert.

Basierend darauf, wenn Sie Ihr eigenes Perl ohne Threads erstellen, sollte es schneller sein. Übrigens bekommst du das, wenn du es mit den Standard-Flags kompilierst.

Steffen Schwingon hat einige Performance-Messungen getan und schrieb über sie hier: http://blogs.perl.org/users/steffen_schwigon/2012/01/perlformance.html

Es wäre schön, wenn einige Messungen vorgenommen und einige Ergebnisse zeigten.

+0

Das ist interessant, weil ich festgestellt habe, dass ich für die Ressourcennutzung tatsächlich auf die Verwendung von Gabeln anstelle von Threads mit Perl (unter Linux) spare – GoldenNewby

+0

10% wäre in etwa richtig. MailScanner, der unter einem von RedHat gelieferten Perl läuft, scannt (in unserem Setup) ungefähr 1.000 Nachrichten pro Sekunde. Mit einem maßgeschneiderten Perl (oder genauer, den Standardeinstellungen) liegt es bei 1.100 Nachrichten pro Sekunde. – Duncan