in reply to Re^3: How to maximise the content of my data CD
in thread How to maximise the content of my data CD
My issue is not that you are wasting too many CDs, my issue is that you are not estimating enough CDs.
Maybe I misunderstood you originally when you said ...
$buckets = ($total_size / 700) + 1
... but this code (I think) implements your code. The test is then run against a set of buckets to verify that the bucket estimation is, in fact, correct. In this worst case, the number of files should be the number of buckets (or within one).
sub numbuckets { my $numfiles = shift; my $cdsize = 700 * 1024 * 1024; my $total_size = (($cdsize / 2) + 1) * $numfiles; my $buckets = ($total_size / $cdsize) + 1; return $buckets; } printf("Bucket estimation of %d buckets is %s for %d files.\n", numbuckets($_), ($_ <= numbuckets($_)) ? "valid" : "not valid", $_) foreach (0 .. 5); __END__ # My output... Bucket estimation of 1 buckets is valid for 0 files. Bucket estimation of 1 buckets is valid for 1 files. Bucket estimation of 2 buckets is valid for 2 files. Bucket estimation of 2 buckets is not valid for 3 files. Bucket estimation of 3 buckets is not valid for 4 files. Bucket estimation of 3 buckets is not valid for 5 files.
The answer is somewhere between $numbuckets (or $numbuckets - 1) and $numfiles. Where in that range depends on how densely you can pack the files.
--MidLifeXis
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^5: How to maximise the content of my data CD
by Limbic~Region (Chancellor) on Feb 28, 2005 at 19:12 UTC |
In Section
Seekers of Perl Wisdom