Я искал профилировщик выборки Linux, и callgrind стал самым близким к показам полезных результатов. Однако накладные расходы оцениваются в 20-100x медленнее, чем обычно. Кроме того, меня интересует только время, затрачиваемое на каждую функцию (с особым упором на блокировку вызовов, таких как read()
и write()
, которые не будут отображаться никаким другим профилировщиком).
- Есть ли способ отключить избыточные параметры, чтобы записывать минимальные данные для генерации времени, затраченного на различные стеки вызовов?
- Получает ли наследие cachegrind cachegrind, что избыточный материал выполняется в отношении профилирования кеша и т.д.
- Я предполагаю, что callgrind работает как отладчик. Можно ли это отрегулировать для выборочного процесса с интервалами, а не для каждой отдельной инструкции?