diff options
author | Bartosz Taudul <wolf.pld@gmail.com> | 2019-02-16 22:42:50 +0300 |
---|---|---|
committer | Bartosz Taudul <wolf.pld@gmail.com> | 2019-02-16 22:42:50 +0300 |
commit | 470600fbc2a8cf498df4c4c64cfa1b9747de30e7 (patch) | |
tree | 2e3acc0adedb8533ac7d74397a02fa06084ba7ef /server/TracyFileRead.hpp | |
parent | c127f5176740928f1210c32df40b2f4af28821ca (diff) |
Don't thrash memory bandwith during file load.
Diffstat (limited to 'server/TracyFileRead.hpp')
-rw-r--r-- | server/TracyFileRead.hpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/server/TracyFileRead.hpp b/server/TracyFileRead.hpp index 54614ff9..2b07255d 100644 --- a/server/TracyFileRead.hpp +++ b/server/TracyFileRead.hpp @@ -142,6 +142,7 @@ private: { if( m_exit.load( std::memory_order_relaxed ) == true ) return; if( m_signalSwitch.load( std::memory_order_relaxed ) == true ) break; + std::this_thread::yield(); } m_signalSwitch.store( false, std::memory_order_relaxed ); std::swap( m_buf, m_second ); @@ -165,7 +166,7 @@ private: if( m_offset == BufSize ) { m_signalSwitch.store( true, std::memory_order_relaxed ); - while( m_signalAvailable.load( std::memory_order_acquire ) == false ) {} + while( m_signalAvailable.load( std::memory_order_acquire ) == false ) { std::this_thread::yield(); } m_signalAvailable.store( false, std::memory_order_relaxed ); } @@ -184,7 +185,7 @@ private: if( m_offset == BufSize ) { m_signalSwitch.store( true, std::memory_order_relaxed ); - while( m_signalAvailable.load( std::memory_order_acquire ) == false ) {} + while( m_signalAvailable.load( std::memory_order_acquire ) == false ) { std::this_thread::yield(); } m_signalAvailable.store( false, std::memory_order_relaxed ); } |