Хороший инструмент профилирования производительности F #
Кто-нибудь может порекомендовать инструмент профилирования производительности с хорошей поддержкой F #?
Я использовал профилировщик Visual Studio 2010, но обнаружил несколько проблем при использовании F #. Мне кажется, что после отражения я профилирую байт-код, а не исходный F #.
Например, при профилировании следующий слегка надуманный пример:
let Add a b =
a + b
let Add1 = Add 1
let rec MultiAdd count =
match count with
| 1 -> 1
| _ -> (Add1 1) + (MultiAdd (count - 1))
MultiAdd 10000 |> ignore
Я получаю следующее дерево вызовов:
Когда я просматриваю Microsoft.FSharp.Core.FSharpFunc`2.Invoke (0) в подробностях функции, я вижу:
Я понимаю, что то, что я вижу, основано на базовой реализации скомпилированного кода, и хотя я могу следовать ему, это тяжело.
У кого-нибудь есть опыт использования других инструментов профилирования с F #, и они лучше справляются с отображением исходного кода F #?