Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: Fast parsing for cypher block chaining

by fluffyvoidwarrior (Monk)
on Feb 28, 2006 at 18:13 UTC ( #533439=note: print w/ replies, xml ) Need Help??


in reply to Re: Fast parsing for cypher block chaining
in thread Fast parsing for cypher block chaining

cos Crypt::Blowfish works with 8 byte blocks. The disk reads and writes I'm doing in 64k chunks which seems about optimum. I'm then splitting the 64k buffer into 8 byte lumps for Blowfish.


Comment on Re^2: Fast parsing for cypher block chaining
Re^3: Fast parsing for cypher block chaining
by Roy Johnson (Monsignor) on Feb 28, 2006 at 18:25 UTC
    I suspect you will do no worse letting Perl handle the buffering for you:
    $/ = \8; # Read 8-byte records. Behind the scenes, Perl will do buffer +ing of reads. $out_buffer .= blowfishify($_) while <INFILE>; print OUTFILE $out_buffer;
    Alternatively, you could (with a sufficiently modern Perl) read from your buffer as if it were a filehandle, using the same $/ = \8 trick.
    open BUF, '<', \$buffer or die "$!: Could not open buffer\n"; $/ = \8; $out_buffer .= blowfishify($_) while <INFILE>; print OUTFILE $out_buffer;
    They're tidier ways of doing what you want, but you'd have to try them to see whether they buy or lose you any efficiency. My guess is that the I/O isn't going to be the bottleneck, anyway; the encryption is.

    Caution: Contents may have been coded under pressure.
      In the first snippet, you should move the print into the loop to avoid using gigabytes of memory. That seemed to be the point of the OP's buffering.
      $/ = \8; # Read 8-byte records. Behind the scenes, Perl will do buffer +ing of reads. print OUTFILE blowfishify($_) while <INFILE>;

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2014-09-24 00:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (243 votes), past polls