From e285f99759c3edd2d7d0cb4ff4280b5d2fd984da Mon Sep 17 00:00:00 2001 From: Renaud G Date: Wed, 18 Dec 2019 01:06:13 +0100 Subject: Performance improvement: mt19937 is not static --- die.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'die.cpp') diff --git a/die.cpp b/die.cpp index 884472d..22b3e2b 100644 --- a/die.cpp +++ b/die.cpp @@ -27,6 +27,9 @@ #include #include +std::mt19937 Die::s_rng= std::mt19937( + static_cast(std::chrono::high_resolution_clock::now().time_since_epoch().count())); + Die::Die() : m_uuid(QUuid::createUuid().toString(QUuid::WithoutBraces)) , m_hasValue(false) @@ -36,8 +39,6 @@ Die::Die() , m_color("") , m_op(Die::PLUS) //,m_mt(m_randomDevice) { - auto seed= std::chrono::high_resolution_clock::now().time_since_epoch().count(); - m_rng= std::mt19937(quintptr(this) + static_cast(seed)); } Die::Die(const Die& die) { @@ -52,8 +53,8 @@ Die::Die(const Die& die) m_base= die.m_base; m_color= die.getColor(); m_op= die.getOp(); - auto seed= std::chrono::high_resolution_clock::now().time_since_epoch().count(); - m_rng= std::mt19937(quintptr(this) + static_cast(seed)); + // auto seed= std::chrono::high_resolution_clock::now().time_since_epoch().count(); + // m_rng= std::mt19937(quintptr(this) + static_cast(seed)); } void Die::setValue(qint64 r) @@ -146,7 +147,7 @@ void Die::roll(bool adding) { // quint64 value=(qrand()%m_faces)+m_base; std::uniform_int_distribution dist(m_base, m_maxValue); - qint64 value= dist(m_rng); + qint64 value= dist(s_rng); if((adding) || (m_rollResult.isEmpty())) { insertRollValue(value); -- cgit v1.2.3-70-g09d2