Кто-нибудь может порекомендовать инструмент для профилирования производительности с хорошей поддержкой 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 #?