On Sun, 18 Nov 2018 16:30:32 -0500
Eric Hawicz <erh%nimenees.com@localhost> wrote:
NetBSD: 16 threads x 1 GiB, using 1 KiB memcpy size, no mlock:
Thread 2 preflt=13504.86 msec, memcpy=2874.69 MiB/sec
...
Total transfer rate: 5817.56 MiB/sec
What? I think your measurements are a bit off here. There may be a
problem with the speed, but if you're measuring the per-thread rate
properly then the sum of those should equal your total transfer
rate. Are the periods during which each thread calculates its rate
very different from the period of the overall test?
The sum of all threads should not equal total transfer rate, because
threads could be running at different times. So instead of all threads
running in parallel you could have something like - T1 runs, pause, T2
runs, pause, T3 runs, pause, etc, the more pauses you have the longer
it will take for all threads to complete. Have a think about it, it
makes sense.