Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re^3: When should I use a dispatch table?

by BrowserUk (Patriarch)
on Dec 01, 2006 at 01:36 UTC ( #587101=note: print w/replies, xml ) Need Help??

in reply to Re^2: When should I use a dispatch table?
in thread When should I use a dispatch table?

I was trying to point out that "the overhead of looking up the key, dereferencing the value," is marginal relative to the overhead of "executing the code ref".

Even that last phrase slightly conflates

  • the process of invoking the sub;
  • executing the code it contains.

I realise that you know the difference, but your wording--combined with your use of "purported"--tended to imply that "looking up the key" was a significant factor. Which it isn't. I sought to demonstrate this.

Unfortunately, typical dispatch tables use code refs.

It wouldn't be a dispatch table if it didn't :). I agree, you cannot avoid the overhead of calling the subroutine.

I had a couple of cracks at coding a 'macro processor'--really just a sub inliner a couple of years of them may even be posted here somewhere?--using source filters, but it was never very satisfactory.

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
  • Comment on Re^3: When should I use a dispatch table?

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://587101]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2023-06-01 14:33 GMT
Find Nodes?
    Voting Booth?

    No recent polls found