Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Word replace - notetab light vs perl

by Courage (Parson)
on Oct 06, 2005 at 14:41 UTC ( #497946=note: print w/replies, xml ) Need Help??

in reply to Word replace - notetab light vs perl

Your code could still be optimized to run two magnitudes faster.

If you'll match/replace entire contents as a string with a single s///g expression, instead of your "while" construct, you'll see dramatic speed increase.

You'll be surprised many times to see how fast Perl sometimes is....

Best regards,
Courage, the Cowardly Dog

  • Comment on Re: Word replace - notetab light vs perl

Replies are listed 'Best First'.
Re^2: Word replace - notetab light vs perl
by kiat (Vicar) on Oct 06, 2005 at 15:02 UTC
    Thanks, Courage :)

    Did you mean the following?

    use Benchmark; $start = new Benchmark; open(FH, "wrongs") or die $!; open(FH2, ">wrongs2") or die $!; undef $/; $lines = <FH>; $counted2 = $lines =~ s/wrongs/wrongs4/g; print FH2 "$lines"; $/ = "\n"; close (FH); close (FH2); $end = new Benchmark; # calculate difference $diff = timediff($end, $start); print "replaced: $counted2 The operation took: " , timestr($diff, 'all +');
      yes, you're fast to learn. :)
      regular expressions were speed-optimized a lot. Do RTFS a bit, and you'll have an idea on what I have in mind.

      A drawback of such optimization - no-one now can improve that code, because it is highly complicated.

      Well, this is not the only place on where perl has good speed abilities.

      Best regards,
      Courage, the Cowardly Dog

        Ilya has that general effect. :-)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2019-06-18 07:15 GMT
Find Nodes?
    Voting Booth?
    Is there a future for codeless software?

    Results (81 votes). Check out past polls.

    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!