Leser: 19
2009-05-09T11:46:29 pktmWenn ich den nun so definiere, dass in der bedingung eine Methode eines Objekts aufgerufen wird, wird dann jedes Mal die Methode des Objekts aufgerufen?
QuoteKann das nicht ein Performanzproblem werden?
QuoteWäre es nicht besser, den Wert vorher in eine Variable zu packen?
for my $row (0 .. $table->nofRow) { ... }
QuoteOder optimiert Perl das irgendwie weg?
2009-05-09T11:55:38 pqIn dem fall einer einfachen inkrementierung würde man eher folgendes schreiben:
Code (perl): (dl )for my $row (0 .. $table->nofRow) { ... }
das ist lesbarer und gleichzeitig performanter.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl -l
use strict;
use warnings;
sub slowly {
sleep 1;
return 4;
}
print "1. C-like with direct call";
for ( my $x=1; $x < slowly(); $x++ ) {
print $x;
}
print "2. C-like with variable";
my $max = slowly();
for ( my $x=1; $x < $max; $x++ ) {
print $x;
}
print "3. perlish for";
for my $x ( 1 .. slowly()-1 ) {
print $x;
}