Schrift
[thread]6619[/thread]

Problem mit Anonymem Array (Seite 2)



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
esskar
 2005-01-12 18:12
#50671 #50671
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Crian,12.01.2005, 17:03]Naja, ++$i ist marginal schneller[/quote]
unter c/c++ kann es auch "xtrem" schneller sein!
unter perl weiß ich es nicht!
Crian
 2005-01-12 18:17
#50672 #50672
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Jau, daher stammte mein Wissen auch ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Taulmarill
 2005-01-12 18:36
#50673 #50673
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
@Crain: der Compiler muss da gar keine intelligenz haben, weil der Parser das schon erkennt:
Code: (dl )
1
2
3
4
5
# perl -MO=Deparse -e'for($i=0;$i<=10;$i++){print $i}'
for ($i = 0; $i <= 10; ++$i) {
print $i;
}
-e syntax OK
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
esskar
 2005-01-12 18:54
#50674 #50674
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich glaube, dass meinte crian nicht; schau

Code: (dl )
test(++$i);

vs.
Code: (dl )
test($i++);


in der ersten version wird der wert ($i+1) übergeben; in der zweiten nur ($i); was auswertungstechnisch anders ist;\n\n

<!--EDIT|esskar|1105548870-->
sri
 2005-01-12 19:00
#50675 #50675
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Naja, das teuerste bei Perl sind die Operationen im Stack.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sri@odyssey:~$ perl -MO=Concise -e 'print ++$i'
7 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v ->3
6 <@> print vK ->7
3 <0> pushmark s ->4
5 <1> preinc sK/1 ->6
- <1> ex-rv2sv sKRM/1 ->5
4 <#> gvsv[*i] s ->5
-e syntax OK
sri@odyssey:~$ perl -MO=Concise -e 'print $i++'
7 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v ->3
6 <@> print vK ->7
3 <0> pushmark s ->4
5 <1> postinc[t2] sK/1 ->6
- <1> ex-rv2sv sKRM/1 ->5
4 <#> gvsv[*i] s ->5
-e syntax OK


Und wie ihr seht ist die Anzahl identisch, also ist der performance unterschied (fuer Interpreter Sprachen Verhaeltnisse) voellig unbedeutend.
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2005-01-10 11:58.