Описание тега callgrind

Callgrind - это инструмент профилирования, который записывает историю вызовов среди функций при запуске программы в виде графика вызовов. По умолчанию собранные данные состоят из количества выполненных инструкций, их отношения к исходным строкам, отношения вызывающий / вызываемый между функциями и количества таких вызовов. По желанию, моделирование кэша и / или прогноз ветвления (аналогично Cachegrind) может предоставить дополнительную информацию о поведении приложения во время выполнения.
1 ответ

callgrind с spawn-fcgi не создает данные профилирования

Мне нужно профилировать мое приложение C++, которое начинается с spawn-fcgi. Я пытался использовать callgrind, но вывод callgrind в KCachegrind не показывает никакой информации о моих приложениях. valgrind --tool=callgrind --dump-instr=yes --simulat…
05 фев '14 в 00:00
1 ответ

Callgrind: как использовать инструмент Callgrind для оценки скорости работы

Я заинтересован в тестировании скорости некоторых вызовов функций из кода, написанного на C/C++. Я искал и мне было предложено использовать платформу Valgrind с инструментом Callgrind. Я кратко прочитал руководство, но мне все еще интересно, как я м…
03 ноя '14 в 20:35
0 ответов

Почему Valgrind зависает при вызове SDL_Init (SDL2)?

Я пытаюсь использовать Callgrind для мониторинга использования кэша в приложении SDL2, но он зависает при вызове SDL_Init - EDIT: чтобы уточнить, Valgrind зависает, больше нет вывода из моей программы, Valgrind застрял в подвешенном состоянии в ожид…
22 фев '16 в 05:40
1 ответ

Callgrind: как передать относительный путь к исходному коду?

Я использую callgrind от Valgrind для профилирования программы, а затем kcachegrind для просмотра данных профиля. Я скопировал выходной файл callgrind на другую машину и у меня там есть копия исходного кода, но, очевидно, информация о пути к исходно…
20 фев '19 в 17:38
0 ответов

Как собрать информацию о пользовательских функциях в callgrind?

Я использую следующую программу main.c, int f2(int i) { return i + 2; } int f1(int i) { return f2(2) + i + 1; } int f0(int i) { return f1(1) + f2(2); } int pointed(int i) { return i; } int not_called(int i) { return 0; } int main(int argc, char **ar…
07 янв '19 в 20:09
1 ответ

Запуск Callgrind для простого файла R

Я хочу использовать Callgrind, чтобы найти узкие места в каком-то сложном коде Rcpp. Поскольку я не мог заставить его работать, я решил вместо этого написать простой R-файл, чтобы убедиться, что он делает то, что должен. Тем не менее, я до сих пор н…
26 фев '15 в 15:51
1 ответ

Что именно собирает callgrind

Это выборка или запись каждой выполненной инструкции? Это просто захватывает выполняющуюся функцию или также имеет номер строки?
04 окт '10 в 17:58
1 ответ

Callgrind Профиль Формат включительно / самостоятельная стоимость

Я пытаюсь понять формат профиля Callgrind. Я нашел онлайн описание Я думал, что понял это довольно хорошо, пока не столкнулся с "Расширенным примером": events: Instructions fl=file1.c fn=main 16 20 cfn=func1 calls=1 50 16 400 cfl=file2.c cfn=func2 c…
23 авг '12 в 21:56
0 ответов

Valgrind callgrind очень медленно с регулярным выражением C++

У меня есть приложение, которое строго использует Boost для регулярных выражений. Я обновил до g++4.9 и переключил некоторые, но не весь код на использование встроенных функций регулярных выражений (прямое изменение). После переключения я попытался …
12 июн '15 в 13:39
1 ответ

libhdfs выбрасывает неверную строку UTF8 в постоянную ошибку пула при запуске через callgrind

Я пытаюсь запустить один мой процесс через callgrind. Один из дочерних процессов (который мне нужно отследить) вызывает libhdfs и при запуске через callgrind выдает исключение: java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Pr…
13 апр '16 в 01:22
0 ответов

Как создать простой callgraph многопроцессорного приложения с Callgrind?

У меня проблема с Вэлгриндом Кэлгриндом. Мне нужно создать граф вызовов приложения, но это приложение запускает несколько процессов. Я использовал параметр --trace-children=yes в Valgrind, но он генерирует несколько разных выходных файлов callgrind.…
13 июл '11 в 18:43
1 ответ

C++ профилирование: счетчик тактов

Я использую valgrind --tool=callgrind профилировать критическую часть моей программы на C++. Сама часть выполняется менее микросекунды, поэтому я выполняю профилирование большого количества циклов над этой частью. Я заметил, что инструкции выполняют…
26 ноя '14 в 13:30
2 ответа

Разница между Очень сонный и Callgrind для C++ профилирования

Я пытаюсь узнать разницу между Very Sleepy и Callgrind для профилирования. Код, который я собираюсь профилировать, написан на C++ и работает как в Linux, так и в Windows. В Linux я мог использовать Callgrind, чтобы посмотреть на себя и относительные…
17 мар '15 в 05:17
1 ответ

Вывод профиля callgrind с помощью backtrace?

Можно ли получить обратные следы с помощью профилирования, полученного из Callgrind? Если это так, вы могли бы объяснить, как это делается? [обновление] Это может быть моя терминология. Как называется backtrace/callstack и где он находится при испол…
18 июл '13 в 16:29
0 ответов

Профилирование Java-программы с помощью Valgrind

На самом деле, я работаю над проектом с несколькими языками ( Java, C, KornShell). Я должен проверить взаимодействие между Java и C, и я должен знать, какие функции вызываются в C и Java-программе одним и тем же инструментом. Для этого я написал сце…
23 июн '15 в 08:46
1 ответ

Нужна помощь в понимании kcachegrind

Я пытаюсь понять kcachegrind, кажется, что там не так много информации, например, в левом окне, что такое "Self", что такое "incl."? (см. 1 ядро). Я провел несколько слабых тестов масштабирования, связи нет, поэтому я думаю, что это связано с отсутс…
26 янв '16 в 15:43
0 ответов

Смущенный о профилировании результата

Я построил свою программу с "-g -O2"и побежал valgrind+ Похожий на Cachegrind. Я не уверен, как интерпретировать вывод. Вот вывод: http://daviddoria.com/Uploads/callgrind.CacheMisses Моя "вся программа" это InpaintingAlgorithm функция, которая соста…
01 сен '12 в 21:40
2 ответа

Профиль общего объекта без перекомпиляции основной программы

В настоящее время я разрабатываю общую библиотеку для загрузки в PostgreSQL (функции C-Language см. Здесь). Теперь я хотел бы профилировать функцию в этой библиотеке без перекомпиляции самого PostgreSQL. Я пробовал callgrind используя valgrind --too…
0 ответов

Основной тип события kcachegrind

Может ли кто-нибудь дать базовое объяснение различных основных типов событий в kcachegrind? Я имею в виду меню "выбор инструкций","syscount","syscall" и "оценка цикла". Я читал в справочнике Kcachegrind и не видел там объяснения. Также выполнил поис…
30 май '18 в 01:20
2 ответа

Как определить, почему valgrind/callgrind убивает процесс

Я написал многопоточный стресс-тест для инфраструктуры базы данных, с которой я работаю, и я пытаюсь профилировать ее с помощью callgrind. Программа отлично работает за пределами valgrind и обеспечивает ожидаемые результаты. Однако при запуске под v…
26 июл '16 в 12:44