Посоветуйте плиз вот какой вопрос — занимался надысь профилированием некой тестовой проги (VC++ 2005) и в частости там в main есть вызов двух функций
func1() и func2()
Получил вот такие результаты (цифры в миллисекундах)
func1()
Elapsed exclusive time (Time spent in this function) 0,43
Application exclusive time (Time spent in this function but not in the kernel) 0,43
Elapsed inclusive time (Time spent in this function and its children) 54,3
Application inclusive time (Time spent in this function and its children but not in the kernel) 54,3
func2()
Elapsed exclusive time (Time spent in this function) 0,14
Application exclusive time (Time spent in this function but not in the kernel) 0,14
Elapsed inclusive time (Time spent in this function and its children) 136,7
Application inclusive time (Time spent in this function and its children but not in the kernel) 136,7
Т. е. — правильно ли я считаю что использование func1 выгоднее (скорость приоритет) и именно показатель Elapsed inclusive time показывает время затраченное функцией в проге — т.е время котороые было потрачено на функцию и на все что втутри?
Здравствуйте, LowCoder, Вы писали:
LC>Посоветуйте плиз вот какой вопрос — занимался надысь профилированием некой тестовой проги (VC++ 2005) и в частости там в main есть вызов двух функций
LC>func1() и func2()
LC>Получил вот такие результаты (цифры в миллисекундах)
LC>func1() LC>Elapsed exclusive time (Time spent in this function) 0,43 LC>Application exclusive time (Time spent in this function but not in the kernel) 0,43 LC>Elapsed inclusive time (Time spent in this function and its children) 54,3 LC>Application inclusive time (Time spent in this function and its children but not in the kernel) 54,3
LC>func2() LC>Elapsed exclusive time (Time spent in this function) 0,14 LC>Application exclusive time (Time spent in this function but not in the kernel) 0,14 LC>Elapsed inclusive time (Time spent in this function and its children) 136,7 LC>Application inclusive time (Time spent in this function and its children but not in the kernel) 136,7
LC>Т. е. — правильно ли я считаю что использование func1 выгоднее (скорость приоритет) и именно показатель Elapsed inclusive time показывает время затраченное функцией в проге — т.е время котороые было потрачено на функцию и на все что втутри?
Увловно говоря, exclusive_time — это время, затраченное на выполнение кода тела функции, а inclusive_time — это exclusive_time плюс время выполнения функций, которые вызывались из данной.
Видно, что func1 дольше работает сама, и меньше "отдает на сторону". func2 наоборот, сама почти не работает, занимается только вызовами других функций.
Если func1 и func2 получают один и тот же результат, то func1 в среднем делает работу в два с лишним раза быстрее, чем func2. Поэтому при прочих равных условиях func1 предпочтительней.