NNThroughputBenchmark$getOpsPerSecond is using elapsedTime to calculate ops per second. elapsedTime is the time used to measure the time from the start to the finish of the benchmark main thread, and it's also the total execution time of the single slowest benchmark worker thread. To measure ops per second, we should use the total execution time of all worker threads, which is cumulativeTime. Otherwise, we could get bogus result, e.g. given same load, the more client threads we have (controlled by -threads), the larger ops per second the number would be, with the same NN and its server side configurations.