Когда я использую YJP для отслеживания профиля процессора в нашем собственном продукте, это происходит очень медленно.
Продукт работает на 16-ядерной машине с кучей 8 ГБ, и я использую шлифовальный станок для запуска теста небольшой нагрузки (например, 10 потоков шлифовального станка), который имеет около 7-10 шагов во время профилирования. У меня есть сценарий для запуска продукта с помощью профилировщика, начала профилирования (с использованием api контроллера), а затем запуска измельчителя для имитации операций пользователя. Когда все операции завершаются, сценарий сообщает профилировщику прекратить профилирование и сохранить снимок.
Во время профилирования для каждого этапа теста кофемолки требуется более 1 миллиона мсек. Весь процесс профилирования часто занимает более 10 часов с использованием всего 10 резьб шлифовального станка, и каждая из них запускает тест по 10 раз. Без профилировщика он завершается в течение 500 мс.
Итак ... помимо проблем с продуктом, который нужно профилировать, есть ли что-нибудь еще, что влияет на производительность самого процесса трассировки процессора?