Я работаю над сложным сетевым программным обеспечением и не могу определить, как улучшить производительность системы.
В частности, в одной части программного обеспечения, которая использует блокировку синхронных вызовов.Поскольку эта часть системы выполняет тяжелые вычисления, почти невозможно определить, вызвана ли медлительность этого компонента этими вычислениями или ожиданием других частей системы.
Существуют ли легковесные профилировщикичто может захватить эту информацию?Я не могу использовать сверхпрочный профиль, такой как valgrind, так как это полностью искажает результаты (хотя valgrind был бы идеален, поскольку он собирает всю необходимую информацию).
Я пытался использовать oProfile, но просто не смогполучить какие-либо значимые результаты из этого (возможно, если где-то есть краткое руководство ...).