Displaying 4 results from an estimated 4 matches for "calc_mibps".
Did you mean:
calc_bps
2019 Nov 30
0
[PATCH nbdkit 2/3] filters: stats: Measure time per operation
...;
+static uint64_t pwrite_ops, pwrite_bytes, pwrite_usecs;
+static uint64_t trim_ops, trim_bytes, trim_usecs;
+static uint64_t zero_ops, zero_bytes, zero_usecs;
+static uint64_t extents_ops, extents_bytes, extents_usecs;
+static uint64_t cache_ops, cache_bytes, cache_usecs;
static inline double
calc_mibps (uint64_t bytes, int64_t usecs)
@@ -79,23 +79,23 @@ print_stats (int64_t usecs)
fprintf (fp, "elapsed time: %.3f s\n", usecs / USEC);
if (pread_ops > 0)
- fprintf (fp, "read: %" PRIu64 " ops, %.2f GiB, %.2f MiB/s\n",
- pread_ops, pread_bytes /...
2019 Nov 30
5
[PATCH nbdkit 0/3] filters: stats: More useful, more friendly
- Use more friendly output with GiB and MiB/s.
- Measure time per operation, providing finer grain stats
- Add missing stats for flush
I hope that these changes will help to understand and imporve virt-v2v
performance.
Nir Soffer (3):
filters: stats: Show size in GiB, rate in MiB/s
filters: stats: Measure time per operation
filters: stats: Add flush stats
filters/stats/stats.c | 117
2019 Nov 30
0
[PATCH nbdkit 1/3] filters: stats: Show size in GiB, rate in MiB/s
...iB 1048576.0
+#define GiB 1073741824.0
+#define USEC 1000000.0
+
static char *filename;
static bool append;
static FILE *fp;
@@ -64,34 +68,34 @@ static uint64_t extents_ops, extents_bytes;
static uint64_t cache_ops, cache_bytes;
static inline double
-calc_bps (uint64_t bytes, int64_t usecs)
+calc_mibps (uint64_t bytes, int64_t usecs)
{
- return 8.0 * bytes / usecs * 1000000.;
+ return bytes / MiB / usecs * USEC;
}
static inline void
print_stats (int64_t usecs)
{
- fprintf (fp, "elapsed time: %g s\n", usecs / 1000000.);
+ fprintf (fp, "elapsed time: %.3f s\n", usecs...
2019 Nov 30
1
Re: [PATCH nbdkit 1/3] filters: stats: Show size in GiB, rate in MiB/s
...EC 1000000.0
> +
> static char *filename;
> static bool append;
> static FILE *fp;
> @@ -64,34 +68,34 @@ static uint64_t extents_ops, extents_bytes;
> static uint64_t cache_ops, cache_bytes;
>
> static inline double
> -calc_bps (uint64_t bytes, int64_t usecs)
> +calc_mibps (uint64_t bytes, int64_t usecs)
> {
> - return 8.0 * bytes / usecs * 1000000.;
> + return bytes / MiB / usecs * USEC;
> }
The idea isn't bad, but I think we can lose data doing this. What
happens if the rate is substantially less than 1 megabit?
We either ought to scale this...