Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
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

Replies are listed 'Best First'.
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?
[Discipulus]: 2 weekends ago LanX
[Lotus1]: cb is nsfw this morning
[Lotus1]: I wonder if ascii art would work in the cb....
[jedikaiti]: lolol
Tux looks up his status to find being an Abbot
[choroba]: pm-cb-g now shows the number of unread messages, commit on its way to github
[Tux]: choroba any plans for highlight patterns?
[choroba]: Tux feel free to submit a pull request :-)
[choroba]: I like the idea, but currently I only have time for small changes
[choroba]: but it should be a bit better in two weeks

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (13)
As of 2017-09-20 16:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (237 votes). Check out past polls.

    Notices?