aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/qps/interarrival.h
diff options
context:
space:
mode:
authorGravatar Vijay Pai <vpai@google.com>2017-08-24 09:32:30 -0700
committerGravatar Vijay Pai <vpai@google.com>2017-08-29 08:44:54 -0700
commit6defb325d92458e30096140ef899e7e66fd0e433 (patch)
tree829fd66e58c89808600c245b66cf5b1a4bf173b6 /test/cpp/qps/interarrival.h
parent12bc68ea71f976c8a8a2c30c037682cf98d87225 (diff)
Remove some pre-C++11-style workarounds
Diffstat (limited to 'test/cpp/qps/interarrival.h')
-rw-r--r--test/cpp/qps/interarrival.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/cpp/qps/interarrival.h b/test/cpp/qps/interarrival.h
index c6e417985a..1fa310c209 100644
--- a/test/cpp/qps/interarrival.h
+++ b/test/cpp/qps/interarrival.h
@@ -21,7 +21,7 @@
#include <chrono>
#include <cmath>
-#include <cstdlib>
+#include <random>
#include <vector>
#include <grpc++/support/config.h>
@@ -75,13 +75,13 @@ class InterarrivalTimer {
public:
InterarrivalTimer() {}
void init(const RandomDistInterface& r, int threads, int entries = 1000000) {
+ std::random_device devrand;
+ std::mt19937_64 generator(devrand());
+ std::uniform_real_distribution<double> rando(0, 1);
for (int i = 0; i < entries; i++) {
- // rand is the only choice that is portable across POSIX and Windows
- // and that supports new and old compilers
- const double uniform_0_1 =
- static_cast<double>(rand()) / static_cast<double>(RAND_MAX);
random_table_.push_back(
- static_cast<int64_t>(1e9 * r.transform(uniform_0_1)));
+ static_cast<int64_t>(1e9 * r.transform(rando(generator))));
+ ;
}
// Now set up the thread positions
for (int i = 0; i < threads; i++) {