2009-07-13 4 views
2

Я использую JetBrains dotTrace, я профилировал мое приложение, которое полностью связано с CPU. Но результаты, когда вы спускаетесь по дереву , не суммируются с уровнем выше в дереве, я вижу только метод, который вызывает не теловые линии узла в методе вопросов.JetBrains dotTrace, можно ли профилировать исходный код по строкам? else Мне нужен еще один инструмент

Возможно ли профилирование исходного кода по строке.

т.е. для одного узла:

  • SimulatePair() 99,04%
    --nextUniform() 30,12%
    --IDCF() 24,08%

Таким образом, метод вызывает nextUniform + IDCF использует 54% времени в SimulatePair (или 54% общего времени выполнения, я не уверен, как это прочитать), независимо от того, что происходит с другими 46% SimulatePair. Мне нужны детали в строчном порядке.

Любые помощь или альтернативные инструменты очень ценятся.

Благодаря

ответ

2

Заканчивать ANTS ...

линейного уровня кода синхронизации - перейти к конкретные строки кода отвечает за выполнение неэффективностью

+0

Просто запустил его, он работает довольно медленно, но очень приятно, именно то, что я хотел, спасибо. – m3ntat

+0

Фантастический инструмент, ну стоит цена лицензии. –

+0

Также, как интерпретировать результаты, у меня наверху (Thread заблокирован) Время 35.781%, время с детьми 67% что именно это означает? это приложение с одним потоком, но вышеупомянутое звучит довольно плохо. – m3ntat

-2

Here's the method I use. Это просто , бесплатно, дает вам информацию по строке и не допускает таких путаниц.

0

В интересах будущих поисковиков dotTRACE 4.0 BETA поддерживает линейное профилирование. Это помогло мне найти бесконечный цикл.

+0

Да, но все же не с «Thread time», которое является их определением потребления процессора (без потоков сна и ожидания). Я использовал версию 4.5.1. Оценка. – Marcel

1

dotTrace 6 поддерживает линейное профилирование. Кроме того, с помощью API-интерфейса Profiler вы можете установить через код части, которые вы хотите профилировать с помощью PerformanceProfiler.Start и PerformanceProfiler.Stop.

Действительно прост в использовании и эффективен.