Thread abgedrehtes problem mit switch: oder bin ich blind? (71 answers)
Opened by deepblack at 2004-06-16 21:56

pq
 2004-06-30 14:07
#83452 #83452
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Dieter,17.06.2004, 15:33]Unter mod_perl bleibt der Hash (nach dem ersten Programmstart) bestehen; der if-elsif-Block natürlich auch.
Benchmark:
ist nicht erforderlich - der Zugriff auf ein Hash-Element ist 'immer' schneller als der Durchlauf eines if-elsif-Blocks.[/quote]
sorry, aber das ist quatsch. pauschal zu sagen, dass
Code: (dl )
1
2
3
4
5
%hash = (
 a => 1,
 b => 2,
 ...
);

unter mod_perl nur einmal ausgeführt wird (und genau das hast du
in anderen worten behauptet), ist falsch.
dieser code wird jedesmal ausgeführt, solange er im handler steht.
auch wenn %hash global ist, passiert doch hier eine zuweisung, und warum
sollte perl die nur einmal ausführen? sie wird also jedesmal ausgeführt und
verbraucht cpu. was nun schneller ist, kann man nur durch benchmarking
herausfinden.
man kann es sich natürlich auch einfach machen und einfach behaupten,
ein hash-zugriff sei schneller als if-elsif. das macht die aussage aber nicht wahrer.
es kommt zudem sehr darauf an, wieviele fälle es gibt (d.h. wieviele elemente
der hash hat) und welcher fall wie oft dran kommt.

sorry, dass ich das alte thema nochmal aufgewärmt habe; gehe gerade alte
threads durch und konnte mich hier nicht zurückhalten =)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread abgedrehtes problem mit switch: oder bin ich blind?