AQTime определенно может это сделать. Вы можете выбрать любые модули, которые вы хотите включить. Но если вы собираетесь в Delphi 2010, они еще не интегрированы в IDE. Фактически, всего несколько недель назад они наконец получили свою интеграцию с Delphi 2009 - через год после выпуска D2009, и, судя по моему первоначальному взгляду, она глючит.
AQTime также ОЧЕНЬ дорогой за 600 долларов. Если вы сделаете это, купите, если у у одного из их партнеров , где вы можете сэкономить деньги (например, Falafel предлагает их за 500 долларов вместо 600 долларов). {Вот моя личная напыщенная речь: это ужасная политика, которая меня отключает. Вы не должны платить больше, когда вы покупаете напрямую у продавца. Они должны либо заставить своих партнеров продавать по той же цене и дать им процент, либо они вообще не должны предлагать его на своем собственном сайте, а просто перечисляют партнеров, у которых вы можете его купить.}
Но даже с учетом этих проблем, AQTime - единственный инструмент, который я обнаружил, который прекрасно работает, предоставляя вам построчное подсчет выполнения и тайминги. Это конечный результат, который он дает, и он стоит того, и после многих вопросов и ответов, которые я дал в StackOverflow за последний год, я могу просто закончить с ними (теперь я в третьем испытании, когда они добавлена интеграция с D2009).
Мои основные вопросы:
И я попытался ответить на:
Несмотря на комментарии Мейсона, я не считаю, что AQTime слишком медленный для профилирования, если вы только профилируете подпрограммы, над которыми вы сейчас работаете над оптимизацией. Просто не всегда его включай.
Я также попробовал Sampling Profiler. Это просто не сработало для меня. Казалось, что 90% результатов, к которым он пришел, были в Системных подпрограммах, где строковые копии и ходы занимали большинство. Это не помогло мне. Мне нужно было знать, какие строки в моих подпрограммах вызывали эти шаги и копии.
Если вы хотите хороший бесплатный, я очень рекомендую asmprofiler . Это на самом деле удивительно хороший профилировщик, похожий на AQTime, с удивительно хорошими результатами профиля. Единственным недостатком является то, что он анализирует только до уровня процедуры, а не до уровня строки, и это единственная причина, по которой я предпочитаю AQTime.
p.s. В отношении микрооптимизации говорят, что не стоит полагаться на AQTime. Сейчас я провел большое количество тестов, и меня все больше впечатляет помощь AQTime, а также информация на уровне строк, помогающая найти места для микрооптимизации. Это само по себе делает продукт стоящим.
Если информация об уровне строки будет добавлена в asmprofiler, то эта информация станет легкой задачей.
Но разве было бы неплохо, если бы Embarcadero наконец решил добавить встроенный профилировщик прямо в Delphi ? Пока я пишу это, он на 10-м месте в Delphi UserVoice. Проголосуйте, чтобы подняться!