История изменений
Исправление smilessss, (текущая версия) :
https://imgur.com/Oiq3EIq.png
что имеем
https://stackoverflow.com/questions/3666753/c-threads-and-simple-blocking-mec...
берём
boost::mutex lock;
делаем там где не нужно создавать лоад
lock.lock();
а когда всё таки нужно делаем
lock.unlock();
результат на скрине
теперь на 3500 бинарях и 30000 тредах - лоад авереж 5-8 и cpu в среднем загружен на 35%, уже намного лучше
эксперты по с++ - подскажите все эти boost::mutex lock или mutex::scoped_lock или любые другие мутексы - они одинаково работают в плане производительности?
в мысла неважно чем лочить верно
Исправление smilessss, :
https://imgur.com/Oiq3EIq.png
что имеем
https://stackoverflow.com/questions/3666753/c-threads-and-simple-blocking-mec...
берём
boost::mutex lock;
делаем там где не нужно создавать лоад
lock.lock();
а когда всё таки нужно делаем
lock.unlock();
результат на скрине
теперь на 3500 бинарях - лоад авереж 5-8 и cpu в среднем загружен на 35%, уже намного лучше
эксперты по с++ - подскажите все эти boost::mutex lock или mutex::scoped_lock или любые другие мутексы - они одинаково работают в плане производительности?
в мысла неважно чем лочить верно
Исходная версия smilessss, :
https://imgur.com/Oiq3EIq.png
что имеем
https://stackoverflow.com/questions/3666753/c-threads-and-simple-blocking-mec...
берём
boost::mutex lock;
делаем там где не нужно создавать лоад
lock.lock();
а когда всё таки нужно делаем
lock.unlock();
результат на скрине
теперь на 3500 бинарях - лоад авереж 5-8 и cpu в среднем загружен на 35%, уже намного лучше
эксперты по с++ - подскажите все эти boost::mutex lock или mutex::scoped_lock или любые другие мутексы - они одинаково работают в плане производительности?
в мысла неважно чем лочить верно