diff --git a/Jamulus.pro b/Jamulus.pro index d7697e66..3f3d5501 100755 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -6,17 +6,6 @@ contains(CONFIG, "noupcasename") { TARGET = jamulus } -# support multi-threading with OMP if requested -contains(CONFIG, "multithreading") { - unix { - message(The OpenMP multithreading is enabled.) - message(NOTE THAT THE OpenMP IMPLEMENTATION IS STILL EXPERIMENTAL AND MAY NOT BE STABLE.) - DEFINES += USE_OMP - QMAKE_CXXFLAGS += -fopenmp - QMAKE_LFLAGS += -fopenmp - } -} - CONFIG += qt \ thread \ release diff --git a/src/server.cpp b/src/server.cpp index fe9b50a8..b2bc22c7 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -992,15 +992,6 @@ static CTimingMeas JitterMeas ( 1000, "test2.dat" ); JitterMeas.Measure(); // TE vecChannelLevels ); } -#ifdef USE_OMP -// TODO This does not work as expected, the CPU is at high levels even if not much work is to be done. So we -// have an issue using OMP in the OnTimer() function. Even if #pragma omp parallel for is used on a trivial -// for loop for testing, still the CPU usage goes to very high values -> What is the cause of this issue? -// NOTE Most probably it is the overhead of threads creation/destruction which causes this effect. -// See https://software.intel.com/content/www/us/en/develop/articles/performance-obstacles-for-threading-how-do-they-affect-openmp-code.html -// "[...] overhead numbers are high enough that it doesn’t make sense to thread that code. In those cases, we’re better off leaving the code in its original serial form." -# pragma omp parallel for -#endif for ( int i = 0; i < iNumClients; i++ ) { int iClientFrameSizeSamples = 0; // initialize to avoid a compiler warning