in reply to Re: Conditional idiom : "if X equals Y or Z" ?? - benchmark
in thread Conditional idiom : "if X equals Y or Z" ??

Your benchmark is flawed. m5, m7 and m8 use a hash so that you can do part of the work only *once*. Setting up the hash each time you are doing tests defeats its purpose.

Of course, if all you are doing in your program is performing this test once, for the 8 entries in @tabs you shouldn't bother. Optimizing is only useful for hot spots in your code, things you either do many times, or things that are very costly. Trivial checks that will only be done 8 times in your code aren't worth to be optimized.

Abigail

Replies are listed 'Best First'.
Re: Re: Re: Conditional idiom : "if X equals Y or Z" ?? - benchmark
by George_Sherston (Vicar) on Jun 12, 2002 at 13:23 UTC
    Yes, you're quite right - if I were going to use those conditionals more than a few times in any given script I'd set up the hashes once only and spread the overhead. This was more about satisfying my curiosity than about optimisation - in the spirit of that curiosity, here are the results with any hashes involved set once only:
    10000 trials of abigail (494.672ms total), 49us/trial 10000 trials of broquaint (93.071s total), 9.307ms/trial 10000 trials of esper (533.643ms total), 53us/trial 10000 trials of ferrency (547.466ms total), 54us/trial 10000 trials of george_sherston1 (654.023ms total), 65us/trial 10000 trials of george_sherston2 (837.320ms total), 83us/trial 10000 trials of george_sherston3 (715.834ms total), 71us/trial 10000 trials of samtregar (1.022s total), 102us/trial


    § George Sherston