Наш инструмент генерирует журналы производительности в режиме диагностики, однако мы отслеживаем производительность, как во время выполнения кода ( Секундомер + милисекунды ).
Очевидно, что это вообще ненадежно, ЦП тестирующей системы может быть использован каким-то случайным процессом, результаты будут совершенно разными, если вы настроили инструмент для запуска 10 потоков вместо 2 и т. Д.
Мой вопрос:
Как правильно определить правильное время ЦП для фрагмента кода ( не для всего процесса )?
Что я имею в виду под временем ЦП:
В основном, сколько времени ЦП провел.Я предполагаю, что это всегда будет одинаковым для одного и того же фрагмента кода на том же компьютере и не зависит от других процессов. Здесь могут быть некоторые фундаментальные вещи, которые мне здесь не хватает, если так, пожалуйста, просветите меня в комментариях или ответах.
PS Использование профилировщика невозможно в нашей настройке
Еще одно обновление,
Почему я не собираюсь использовать профилировщик
Потому что нам нужно тестировать код в разных средах с разнымиданные, где у нас нет профилировщика или IDE или что-то в этом роде.Следовательно, сам код должен справиться с этим.Крайним вариантом может быть использование DLL профилировщика, но я не думаю, что эта задача требует такого сложного решения ( при условии, что не существует бесплатной и простой для реализации библиотеки профилирования ).