вторник, 19 октября 2010 г.

Бесплатный профайлер для .Net

Разрабатываю некий редактор мира для онлайн-игры (не по работе). Ну там, монстры, комнаты, предметы... На WinForms. Ну вот, почему-то так сложилось, что не WPF, и я думаю, правильно сложилось...

Дак вот, нужно, чтобы карта спокойно держала 200к объектов, из которых 20к комнат. Неудивительно, что потребовался профайлер. Однако, дома у меня Visual C# Express, и встроенного майкрософтовского профайлера я, посему, лишен. Между прочим, также как владельцы Visual Studio Professional, так что весьма актуально, как мне кажется.

Пришлось искать какой-то бесплатный аналог. Хотелось, чтобы профайлер выполнял свою основную функцию, без наворотов, но чтобы при этом не надо было думать или иным путем выпендриваться...

На самом деле ведь профайлер что должен?
  1. Дать возможность запустить программу одним кликом или драг-н-дропом. И без магических пассов.
  2. После окончания выполнения, выводить таблицу методов, для каждого метода - число вызовов, общее время выполнения и среднее время выполнения, и чтобы это можно было сортировать.
  3. Дальше, если бы я захотел посмотреть подробности метода, то я бы хотел увидеть, какие методы вызывает выбранный мной, и сколько в процентах они выполняются. И чтоб можно было одним кликом перейти к подробностям этих методов.
ВСЁ! Если код нормально написан, этого более чем достаточно. Главное, чтобы не было монстроидных методов по 1000 строк. Между прочим, реальный случай, совсем недавно видел метод в 850 строк у одного коллеги, грустно :(

Дак вот, к профайлерам. Перебрал несколько штук, остановился на EQATEC Profiler. У него есть бесплатная версия, и она вот в точности такая, как я выше описал. Даже есть возможность снимать снапшот с работающей программы, и есть возможность сравнивать результаты замеров (что изменилось и насколько).

Вот ведь часто бывают на кодеплексах крохотные программы, и вроде всё классно, но такие глючные, такие тормозные, такие неудобные, что исплюешься. Хотя, идея-то вроде правильная, просто кто-то поленился потратить денек-другой на доводку. А тут как раз всё доведено и, между прочим, отлично выглядит. И есть пара приятных добавок к минимальному функционалу, например история переходов (вперед-назад) и т.п.

Выглядит примерно вот так (скриншот кликабелен):


Так что вот, рекомендую.

Комментариев нет:

Отправить комментарий

Внимание! Реклама и прочий спам будут беспощадно удаляться.