В Вашем случае, для замера времени выполнения конкретного метода можно пользоваться простым Stopwatch'ем, а не профайлером. Профайлер неизбежно вносит погрешность в измерения и его использование оправдано, например, если Вас интересует распределение времени выполнения по дочерним вызовам, либо если Вы хотите измерить время сразу для нескольких методов.
Если всё же использовать dotTrace для сравнения времени выполнения одного метода, то для выбора режима профилирования нужно понимать следующее:
— точность измерения времени выполнения метода в режиме Tracing уменьшается по мере увеличения общего количества вызовов в поддереве этого метода. Это связано с тем, что в режиме Tracing профайлер выполняет некоторые действия на каждый вызов метода, и при этом он лишь частично компенсирует эту погрешность.
— абсолютная погрешность измерения времени одного вызова метода в режиме Sampling: 20 ms. Это связано со статистическим характером сэмплинга: dotTrace сэмплирует каждый поток с частотой 100 сэмплов/сек. Соответственно, относительная погрешность сэмплинга уменьшается по мере увеличения исследуемого времени выполнения.
— режим Line-by-Line вносит наибольшую инструментальную погрешность в измерения.
В итоге, если в поддереве исследуемого метода не происходит большого количества вызовов других методов (например, их меньше 1000), то можно пользоваться Tracing'ом. Если же вызовов много, то лучше увеличить количество итераций цикла и использовать Sampling.