Я делаю некоторые работы по созданию прототипов в C и хочу сравнить, сколько времени занимает выполнение программы с различными небольшими изменениями.
Я использовал clock
; от K & R:
clock
возвращает процессорное время, используемое программой с начала выполнения, или -1
, если недоступно.
Мне это кажется разумным и дает результаты, которые в целом соответствуют моим ожиданиям. Но есть ли что-нибудь лучше, чтобы увидеть, какие модификации улучшают / ухудшают эффективность моего кода?
Обновление: меня интересуют как Windows, так и Linux; что-то, что работает на обоих, было бы идеально.
Обновление 2: меня меньше интересует профилирование сложная проблема, чем общее время выполнения / тактовые циклы, используемые для простой программы от начала до конца - я уже знаю, какие части моей программы медленные clock
, кажется, соответствует этому счету, но я не знаю, насколько он уязвим, например, для других процессов, работающих в фоновом режиме и загружающих процессорное время.