unsigned long nitems = 0;
uint64_t tdiff;
float perc;
- int some_done;
+ int some_done = 0;
int i;
for (i = 0; i < num_threads; i++) {
this_items *= blocksize;
tdiff = mtime_since_now(&last_tv);
if (tdiff) {
- this_items /= tdiff;
+ this_items = (this_items * 1000) / (tdiff * 1024);
printf("%3.2f%% done (%luKB/sec)\r", perc, this_items);
last_nitems = nitems;
fio_gettime(&last_tv, NULL);
if (use_bloom) {
uint64_t bloom_entries;
- bloom_entries = (3 * dev_size ) / (blocksize * 2);
+ bloom_entries = 8 * (dev_size / blocksize);
bloom = bloom_new(bloom_entries);
}
static void show_stat(uint64_t nextents, uint64_t nchunks)
{
- double perc;
+ double perc, ratio;
printf("Extents=%lu, Unique extents=%lu\n", (unsigned long) nextents, (unsigned long) nchunks);
- printf("De-dupe factor: %3.2f\n", (double) nextents / (double) nchunks);
+
+ if (nchunks) {
+ ratio = (double) nextents / (double) nchunks;
+ printf("De-dupe ratio: 1:%3.2f\n", ratio - 1.0);
+ } else
+ printf("De-dupe ratio: 1:infinite\n");
perc = 1.00 - ((double) nchunks / (double) nextents);
perc *= 100.0;