Я пытаюсь вычислить время, затраченное системной командой в моей программе на C. Я пытаюсь вызвать подпрограмму MATLAB из C, используя функцию system() внутри C. Я хочу рассчитать, сколько cputime потребляется из системы времени(), вызывается MATLAB, завершает и возвращает управление обратно на C. Мой псевдокод снизу:Вычислить время выполнения команды system() в C с помощью функции clock()
Значение total_time_taken достигает 0.03 секунды. В то время как когда я вычисляю cputime, взятый для запуска моего скрипта MATLAB с начала процедуры MATLAB до конца в MATLAB с использованием функции cputime, я заканчиваю тем, что обходился около 11 секунд.
Я хочу знать, почему эти два режима работы отличаются друг от друга? Также оператор print сразу после того, как команда system() не будет выполняться до тех пор, пока MATLAB не закончит свое задание и не выйдет и не вернет управление системной команде. Поэтому в идеале обе время выполнения должно совпадать, но они не !
Помощь Pls! Спасибо.
Спасибо за ваш ответ Brick. Итак, какой должен быть идеальный способ расчета времени выполнения? Я хочу, чтобы время CPU прошло. Один из способов сделать это - проверить cputime в MATLAB и добавить его к остальной части времени процессора C-кода, рассчитанного с использованием функции clock(). Я вызываю MATLAB, а затем, как только он выходит, я использую C для выполнения постобработки вывода MATLAB, и я хочу рассчитать общее время выполнения моей программы (MATLAB + C). Функция cputime MATLAB дает тот же результат, что и функция clock() в C, или добавление обоих из них будет делать неправильную вещь? Спасибо. – NMA
@NMA Может быть, 'время' вместо этого? – Brick