任何人都可以推荐具有良好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
Run Code Online (Sandbox Code Playgroud)
我得到以下调用树:

当我在功能详细信息中查看Microsoft.FSharp.Core.FSharpFunc`2.Invoke(0)时,我看到:

我理解我所看到的是基于已编译代码的底层实现,虽然我可以遵循它,但它很难实现.
有没有人有使用F#的其他分析工具的经验,他们是否能更好地映射到原始的F#代码?
我有一个Visual Studio项目,其中包含一个引用F#类的C#windows应用程序.当我在检测模式下运行Visual Studio 2010性能分析器时,除了C#应用程序调用它之外,我没有得到F#类的检测信息.
当我在采样模式下运行时它工作正常.
我尝试在VS2012中运行该项目并得到同样的问题.
如何让Visual Studio显示F#类的检测信息?
我想对 fun1 进行单元测试而不调用 fun2。
\n\nlet fun2() =\n // Some complex function with lots of dependencies.\n 1\n\nlet fun1() =\n fun2() * 2\nRun Code Online (Sandbox Code Playgroud)\n\n打破两个函数之间的依赖关系的最佳方法是什么?
\n\n我\xe2\x80\x99尝试了几种不同的方法,但它们只会增加混乱。
\n\n将 fun2 传递给 fun1
\n\nlet fun1(fun2) =\n fun2() * 2\nRun Code Online (Sandbox Code Playgroud)\n\n转换为类并覆盖
\n\ntype FunClass() =\n abstract member fun2 : unit -> int\n default x.fun2() = 1\n\n member x.fun1() =\n x.fun2() * 2\n\ntype FunClassMock() =\n override member x.fun2() = 1\nRun Code Online (Sandbox Code Playgroud)\n\n使用策略模式
\n\ntype Fun1Class(fun2Class) =\n\n member x.fun1() =\n fun2Class.fun2() * 2\n …Run Code Online (Sandbox Code Playgroud) 当我使用批量复制从C#DataTable向Sql Server 2005插入十进制值时,值被截断而不是舍入.
我正在使用的代码非常简单:
var bulkCopy = new SqlBulkCopy(connection, SqlBulkCopyOptions.Default, null) { DestinationTableName = tableName};
bulkCopy.WriteToServer(dataTable);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这一问题?
mailto链接在此示例中不起作用:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TextBlock>Please email
<Hyperlink NavigateUri="mailto:test@test.co.uk">test@test.cp.uk</Hyperlink>
</TextBlock>
</Window>
Run Code Online (Sandbox Code Playgroud)
如果我将Window更改为UserControl,它可以工作.
有人可以帮忙吗?
f# ×3
c# ×2
profiling ×2
database ×1
datatable ×1
performance ×1
sql ×1
sql-server ×1
unit-testing ×1
wpf ×1
xaml ×1