http://www.perlmonks.org?node_id=500354


in reply to Re^3:Hamming Distance Between 2 Strings - Fast(est) Way?
in thread Hamming Distance Between 2 Strings - Fast(est) Way?

If I were writing it from scratch, I'd name things differently. I used the names the OP did, so that he could see the correspondence. I added a parenthetical explanation to my original post to make that clear.

I wasn't going to make a new reply, but I had to correct your mistaken notion that tr deletes things when it doesn't have the /d option appended.


Caution: Contents may have been coded under pressure.

Replies are listed 'Best First'.
Re^5: Hamming Distance Between 2 Strings - Fast(est) Way? (Ah! But!)
by BrowserUk (Patriarch) on Oct 14, 2005 at 21:04 UTC

    Of course you are right, nothing is deleted without /d.

    However, the "count the stars" mode does seem to be consistantly around 10% quicker?

    $s = "\0\1" x 10000;; cmpthese -1, { A=> q[ $n1 = $s =~ tr[\0][\0] ], B=> q[ $n2 = $s =~ tr[\0][]c ] }; Rate B A B 23522/s -- -9% A 25935/s 10% -- print "$n1 : $n2";; 10000 : 10000

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.