in reply to Is rand() really that slow or am I just using it wrong?
... [I] don't need "secure" randomness, I just need files with a specific size ...
The general tone of your posts and the fact that you were comfortable with the 3115-bit built-in rand in the first place leads one to imagine that you might be satisfied with data having the first-glance appearance of randomness. The following is quite fast: well under a second by an eyeball timing on my laptop. I didn't try to fill up my HD (I don't have a SSD), but even so...
>perl -wMstrict -e "use List::Util qw(shuffle); ;; my @chars = ('a'..'z', 'A'..'Z', '0'..'9', qw[- _ ! & ? =]); @chars = (@chars) x 100; my $jumble = join '', shuffle @chars; $jumble .= reverse $jumble; ;; use constant MAX => 10 * 1024 * 1024; ;; my $j_len = length $jumble; die 'wrong assumptions' unless $j_len < MAX; ;; open my $fh, '>', 'faux-rand' or die qq{opening: $!}; print $fh $jumble or die qq{writing: $!} for 1 .. int(MAX / $j_len); my $shortfall = MAX % $j_len; print $fh substr($jumble, 0, $shortfall) or die qq{writing: $!}; close $fh or die qq{closing: $!}; "
|
|---|