Schrift
[thread]6641[/thread]

Perl Performance: Mit Windows und Linux

Leser: 1


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
frodus
 2005-01-19 19:18
#50886 #50886
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Hi Leute,

hat einer von Euch Erfahrung mit Performance unterschieden
von perl auf einem Windows und einem Linux system.

Ich habe folgende Eckdaten:
1. Gleiche Hardware
2. Windows mt cygwin und Active State perl
3. Linux Red Hat.

Das gleiche Script mit braucht unter Windows ca. 3* laenger
als unter Linux.

Kann das irgend jemand bestaetigen?
Gibt es typische Fehler die unter Windows die Performance
in den Keller Ziehen?

/Frodus
betterworld
 2005-01-19 20:35
#50887 #50887
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
fork ist afaik so etwas, was unter Windows nicht so doll performt
ptk
 2005-01-19 21:10
#50888 #50888
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Man koennte auch die Ausgabe von "perl -V" auf beiden Systemen vergleichen. Moegliche Unterschiede:
- aeltere Perl-Versionen duerften wahrscheinlich generell schneller als neuere Perl-Versionen sein (also z.B. duerfte 5.5 besser als 5.6 sein)
- 5.8.0 hat bei einigen Sachen (z.B. Debug-Modus) ziemliche Performanceprobleme, die in spaeteren Versionen behoben wurden
- wurde mit einer aehnlichen Optimierung kompiliert (-O3 oder so)?
- ist use64bitint eingeschaltet? Das duerfte auf einer 32-Bit-Maschine langsamer sein
- ist threading aktiv? Ein threaded Perl duerfte etwas langsamer sein.
Strat
 2005-01-19 23:16
#50889 #50889
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
auch verschiedene perl-versionen verhalten sich teilweise ziemlich unterschiedlich... hatte vor einiger zeit mal den fall, dass bei grossen komplexen datenstrukturen 5.61 um einiges langsamer war als z.B. 5.5 oder 5.8 (war auch so ca 3x)

threading macht i.d.R. nur wenige Prozent aus; haeufiger ist es ein Modul, das sowohl als XS als auch als pure-perl modul existiert, und woraus eine funktion sehr haeufig aufgerufen wird... hatte sowas mal mit Digest::MD5 bzw. Digest::MD5::PurePerl...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
frodus
 2005-01-20 09:50
#50890 #50890
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Danke fuer die Antworten.

Wir benutzen auf unseren Windows Kisten das Perl von
Activestate 5.8.4 und auf unserem Linux System 5.8.0.

Ich haette an der Stelle auch eher erwartet, dass es sich um ein
Problem mit dem Cygwin handelt.

Ich habe diesbezueglich einige Tests gemacht und es sieht so aus,
als ob die Performance mit der Anzahl der Datei zugriffe rapide in
den Keller geht. Das scheint auch der Fall zu sein wenn ich die
Datei nicht einmal Oeffne. ( -e ).

Noch irgendwelche tipps?

/Frodus
betterworld
 2005-01-20 12:03
#50891 #50891
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich verstehe das nicht ganz; benutzt Ihr nun ActiveState oder das Perl von Cygwin? So weit ich weiss, sind das doch zwei verschiedene Perl-Distributionen?
frodus
 2005-01-20 14:34
#50892 #50892
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Also, installiert ist cygwin ohne perl und das ganz normale Activestate perl.
Unter Cygwin gibt es dann noch einen link auf das Activestate perl und gut.

/Frodus
frodus
 2005-01-20 14:35
#50893 #50893
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
An der Konstruktion kann ich leider auch nichts aendern.
Haben sich unsere Admins ausgedacht. :rock:\n\n

<!--EDIT|frodus|1106224583-->
Taulmarill
 2005-01-20 14:40
#50894 #50894
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
wenn das das ganz normale ActiveState Perl ist, sollte das eigendlich nichts mit Cygwin zu tun haben.
falls du das script aber unter der Cygwin bash startest, solltest du evtl. mal versuchen Cygwin aussen vor zu lassen (also z.B. mit Win32 Shell starten, oder einfach per doppelklick), ich könnte mir vorstellen, dass Cygwin bei dateizugriffen ausbremst, da es ja eine *NIX struktur vortäuschen muss.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
frodus
 2005-01-20 14:52
#50895 #50895
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Ja wenn das so einfach waehre,
das script gehoert leider zu einem set von n Scripten, die
alle auf Unix basieren.
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2005-01-19 19:18.