Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

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
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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (10)
As of 2014-09-02 09:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (20 votes), past polls