Измерение времени выполнения и используемой памяти - PullRequest
2 голосов
/ 13 марта 2009

Большинство онлайн-судей имеют какую-то систему для измерения времени выполнения и потребления памяти. Пример показан здесь . Как это сделать? Есть ли простая утилита UNIX, которую я могу использовать для запуска подобных тестов в своих программах?

Ответы [ 3 ]

2 голосов
/ 13 марта 2009

Valgrind со всеми его инструментами даст вам некоторую информацию:

  • cachegrind - симулятор кеша
  • callgrind - трассировка графа звонков - позволяет узнать стоимость звонков и показать, что происходит в вашей программе
  • massif - информация об использовании памяти кучи
  • memcheck - проверка утечки памяти

Кроме того, вы можете использовать более сложное программное обеспечение, такое как Intel VTune .

Если вы заинтересованы в деталях низкого уровня и реальных счетчиках оборудования, посмотрите на perfmon2 , у которого есть некоторые шансы попасть в основное ядро ​​в будущем.

И ищите старые вопросы - на эту тему много сообщений.

1 голос
/ 14 марта 2009

В прошлый раз, когда мне нужно было профилировать программу Unix, я использовал gcc и gprof. Это дало мне информацию, в которой я нуждался.

1 голос
/ 13 марта 2009

Команда UNIX time выведет количество времени пользователя, системное время и некоторую статистику памяти. Версия для Linux может быть найдена здесь и включает некоторые строки форматирования, которые позволяют вам указать точный вывод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...