Thread abgedrehtes problem mit switch: oder bin ich blind?
(71 answers)
Opened by deepblack at 2004-06-16 21:56
[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 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: ![]() ![]() |