Servus,
u. a. Script erzeugt unter Windows reproduzier- aber nicht nachvollziehbare, unsinnige Ergebnisse nach
- Hauptspeicherverbratung ca 1,5 MB je Thread (gesamt 360 MB)
- 60 Sekunden
- Prozessorauslastung 50% (auf Mehrprozessorsystem)
Nach einem Upgrade von ActivePerl von 5.8.2 auf 5.8.8 braucht’s nur noch ca. 23 Sekunden, andere, gleichermaßen unsinnige Ergebnisse unter ansonsten gleichen Werten zu erzeugen.
Unter Linux sind die Ergebnisse brauchbar und zeitnah,
- ca. 3, 4 Sekunden
allerdings - Hauptspeicherverbratung ca 1,5 MB je Thread
- Prozessorauslastung 50% (auf Mehrprozessorsystem)
Das gleiche Script, nach meinem Können 1:1 in Python übersetzt kommt - unter Linux, unter Win keine Testumgebung - auf unter der Lupe nicht feststellbare RAM-Auslastung, mikroskopisch immerhin nachweisliche Prozessorauslastung.
Ist das ein Problem von Perl, oder lediglich Ausdruck meiner Fähigkeiten in dieser Programmiersprache?
Gruss
Schorsch
#!/usr/bin/perl
use threads;
use Net::stuck\_out\_tongue:ing;
@pingThreads;
for ( $i = 0; $i new( \&pingThr, $addr );
push( @pingThreads, $thr );
}
foreach( @pingThreads ) {
print $\_-\>join;
}
sub pingThr
{
my ($addr ) = @\_;
my $ping = Net::stuck\_out\_tongue:ing-\>new('icmp');
return $ping-\>ping( $addr, 1 );
}