42 char const *op = stats->
op;
44 double mbps_in, mbps_out;
49 len = snprintf(buf, size,
"%s statistics: ", op);
53 snprintf(buf + len, size - len,
54 "literal[%d cmds, " FMT_LONG
" bytes, " FMT_LONG
59 if (stats->sig_cmds) {
61 snprintf(buf + len, size - len,
62 "in-place-signature[" FMT_LONG
" cmds, " FMT_LONG
63 " bytes] ", stats->sig_cmds, stats->sig_bytes);
66 if (stats->copy_cmds || stats->false_matches) {
68 snprintf(buf + len, size - len,
69 "copy[" FMT_LONG
" cmds, " FMT_LONG
" bytes, " FMT_LONG
70 " cmdbytes, %d false]", stats->copy_cmds,
71 stats->copy_bytes, stats->copy_cmdbytes,
72 stats->false_matches);
77 snprintf(buf + len, size - len,
78 "signature[" FMT_LONG
" blocks, " FMT_SIZE
79 " bytes per block]", stats->
sig_blocks, stats->block_len);
82 sec = (stats->end - stats->start);
85 mbps_in = stats->
in_bytes / 1e6 / sec;
88 snprintf(buf + len, size - len,
89 " speed[%.1f MB (%.1f MB/s) in, %.1f MB (%.1f MB/s) out, %d sec]",