From: Robert Brown <[EMAIL PROTECTED]> > Casey West writes: > > : "Does the regular expression mechanism in perl optimize regular > > : expressions such as the one you used earlier in this thread so that > > : the execution overhead is nearly as good as the C approach I > outlined > : earlier in this thread? In other words, for the problem > stated > : earlier, does o(C) = o(perl)? > > The answer is, C almost > always going to be much faster almost all the > time, YMMV. Really > the only way to tell is with tests and benchmarks, > but you can > almost always bet on C. > > Sorry again for my confusing way of expressing myself. Although I > wrote my example in C, that was because I am a novice perl programmer, > but an experienced C programmer, so I expressed my algorithm in C. > > The idea was to compare the execution effeciency of a perl regular > expression approach to a less syntacticly compact algorithmic approach > using loops and conditionals, still written in perl, to edit the > string. I just used C so you all would not beat me up over perl > syntax details instead of answering the real question. > > Is perl going to be comparably efficient whichever way you code it, or > is the explicit test and loop approach usually going to be faster for > simple jobs? I want to know when to use the regex approach and when > not to.
1. Perl builtins and especialy the regular expression engine is heavily optimized. So it might very well be quicker to use a regexp from Perl than to implement the same stuff in C. Unless you spend a lot of time tweaking the code. 2. One regexp (assuming its created well) will almost always be quicker than several loops and ifs in Perl. While you should not use a regexp where the "normal" functions suffice, you should not go into great lengths implementing something that would be simple as a regexp. It'll be harder to maintain and most probably slower. 3. If you really need to know which solution is quicker use Benchmark; Jenda ===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz ===== When it comes to wine, women and song, wizards are allowed to get drunk and croon as much as they like. -- Terry Pratchett in Sourcery -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>