in reply to Re^6: Substituting Newline Characters
in thread Substituting Newline Characters
I was suprised by the performance hit. In essence the only change was 2x if/else cases added
sub merge { my ( $data, $unmerge ) = @_; while ( $some_condition ) { # big loop, no embedded loops $count = $unmerge ? $count1 + $count2 : $count1 - $count 2; } }
As you say a preprocessor of some description could optimise the flag away, depending on the call. eval might well have allowed perl to optimise the code getting rid of the repeated if checks that will either always be true or always be false. But by the time I had added an AUTOLOAD the code would have been a lot less transparent and physically almost as long. I had not thought about using eval to delay compilation and effectively allow you to stub the functions and get them to compile more efficiently. I may give it a benchmark when I have a chance.
cheers
tachyon
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^8: Substituting Newline Characters
by Aristotle (Chancellor) on Mar 16, 2004 at 16:11 UTC |