我很困惑,如果您能启发我,我将不胜感激。 F#使用与C#相同的CLR,并且底层代码相同,那么如何建议用F#编写的函数比C#更快地运行?如果我在C#中仅使用不可变变量,并且性能需要尽可能高,那么为什么要使用F#?

最佳答案

底层代码是否相同?
疑。通常,F#在某些情况下会更快,而在另一些情况下会更慢。 C#也是如此。甚至VB。每种语言都有其优点。如果在大多数方面都具有整体性能,则可以在编译器中找到。

如果我在C#中仅使用不可变变量,并且性能需要尽可能高,那么为什么要使用F#?
如果实际上没有真正的区别,那么没有理由单独切换性能,除非性能是您的问题。至于为什么要切换(如果您仅使用C#中的功能),我会说“不要切换”。

我喜欢F#。有一些“问题”比C#解决的要好得多。但是,即使我有一个可以更好地解决的问题,也不一定要切换,因为我必须考虑各种开发人员。目前,我在这个组织中鲜有了解F#的人,因此我必须提出一个很好的业务案例来进行转换。

最终,您必须查看“业务问题”并确定路径。您必须将“更好”的语言视为混合语言的一部分,但还必须检查核心能力等。

关于c# - F#和C#的CLR相同,那么为什么F#比C#快,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4857262/

10-13 06:03