Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2018-06-21 11:32 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (118 votes). Check out past polls.