Какие средства можно использовать для определения того, что вызывает высокий уровень использования ЦП в приложении .net?Как отлаживать использование большого количества процессоров?
WPF/C# 3.0/.net 3.5
Какие средства можно использовать для определения того, что вызывает высокий уровень использования ЦП в приложении .net?Как отлаживать использование большого количества процессоров?
WPF/C# 3.0/.net 3.5
Нанести профайлер, чтобы понять, где используется CPU: какие части кода являются «горячими». Затем вы можете просмотреть дизайн этих частей кода.
Обратите внимание, что использование центрального процессора может быть вполне разумным.
Прежде всего, необходимо выяснить, где ваше приложение тратит большую часть процессорного времени - я предлагаю вам запустить профайлер производительности, такие как:
и посмотреть, где вы проводите большую часть времени. Если вы хотите просмотреть конкретные узкие места, вы можете попробовать использовать секундомер. Я написал details at my blog.
не уверен, что использование секундомера поможет понять, какие части кода вызывают высокий уровень использования ЦП. –
@MainMa Использование stopWatch только хорошо, если у вас уже есть некоторые подозреваемые и вы хотите его проверить. В противном случае используйте профилировщик –
Согласен, вам нужен профайлер. Visual Studio 2010 Premium или Ultimate Edition имеет встроенный профилировщик. Я не использовал его, но он должен быть полезен в качестве альтернативы DotTrace или ANTS.
VS2013 уже поставляется с очень хорошим встроенным профилировщика
+1. Согласился с тем, что высокий процессор не является по своей сути плохим, если только, возможно, когда вся машина не боится или не сканируется. – stakx