Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re^2: Binary Comparision

by extremely (Priest)
on Feb 28, 2007 at 17:56 UTC ( #602561=note: print w/ replies, xml ) Need Help??

in reply to Re: Binary Comparision
in thread Binary Comparision

When I've built these sorts of byte and bit scanners in the past I've tended to use two buffers to read into. I make one buffer the size of the largest search string and the other twice that size. Then I scan across the larger buffer to the halfway point, move the 2nd half of the data in the buffer up and stick a new chunk on it.

Later, I gave up on that and just used a 4 or 8k buffer that I loaded the second half of and worked in it. This strategy beats the file-size limit and the span issue at the same time.

Bit-wise scanning sucks, tho. That just isn't fun in Perl 5.

$you = new YOU;
honk() if $you->love(perl)

Comment on Re^2: Binary Comparision
Download Code
Replies are listed 'Best First'.
Re^3: Binary Comparision
by ikegami (Pope) on Feb 28, 2007 at 18:25 UTC
    Thanks, but I've already implemented that my other post. I even optimized it to limit the amount of bytes that are scanned twice.
    $block = substr($block, -($longuest_sig_len-1)) . $_; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ Minimal portion of last block New block

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2016-05-29 09:43 GMT
Find Nodes?
    Voting Booth?