Если бы я должен был взять произвольное предположение, то я сказал бы это, кто бы ни реализовал Математику. DivRem понятия не имел, что x86 процессоры способны к выполнению его в единственной инструкции, таким образом, они записали это как две операции. Это - не обязательно плохая вещь, если оптимизатор работает правильно, хотя это - еще один индикатор, в котором знание низкого уровня печально испытывает недостаток в большинстве программистов в наше время. Я ожидал бы, что оптимизатор свернет модуль и затем разделит операции на одну инструкцию и людей, которые пишут, оптимизаторы должны знать эти виды вещей низкого уровня...
В некоторые версии Visual Studio также включен профилировщик. Один , включенный в Visual Studio 2010 , кажется неплохим. Но я не знаю, хорошо ли это при профилировании использования памяти.
AQTime has done pretty much everything I've needed: time, memory, and resource profiling. It's easy to use, the results easy to act upon and it works on unmanaged code as well.
Для профилирования памяти я не смог превзойти .NET Memory Profiler . Было все, что мне нужно.
Просто чтобы добавить ко всем соответствующим ответам. Если вы хотите проверить кучи времени выполнения, использование памяти и т. Д., Вы действительно можете сделать все это (и многое другое) с помощью WinDbg и Sos.dll, которые бесплатны. Это не профилировщик, но очень полезный инструмент для проверки приложения во время выполнения.
Профилировщик CLR очень полезен.
Краткое описание
Профилировщик CLR позволяет разработчикам видеть профиль распределения их управляющих приложений.
Вы можете найти более подробную информацию о профилировщике CLR в этой статье MSDN.
В настоящее время я предпочитаю именно этот порядок, поскольку новая версия Ants имеет множество новых функций, таких как профилирование на уровне строк, которых у DotTrace пока нет.
Если вы покупаете .NET Bundle, вы также получаете Memory Profiler
Поскольку все перечисляют доступные инструменты, я решил указать вам на полный список профилировщиков для .NET: http://sharptoolbox.com/categories/profilers-debuggers
Вы найдете там инструменты, предлагаемые здесь, и все другие, каждый с кратким описанием того, что он предлагает.
Если вы ищете узкие места, я думаю этот лучше всего. Он находит их в мгновение ока, и вам не нужно ничего покупать или устанавливать.