|
|
1
7
是的,F会表现得更好。 以下是用不同语言实现的单线程算法的一些性能结果(神经网络的基准激活函数方法): C:
纯C:
F:
|
|
|
2
2
f在计算中的行为与c相同(因为它只是il)。只需确保将向量表示为一个结构,因为您将构建许多寿命较短的对象。 度量单位对性能没有影响,实际上在编译时,度量单位信息被完全删除。因此,实际上您无法判断您的F代码上是否有度量单位。 |
|
3
1
F的性能与C的性能大致相同,它们都被编译为IL,而IL是重要的因素(与Ironpython和IronRuby不同,后者被解释,因此速度慢得多)。算法的性能更多地取决于它的实现,而不是F或C的选择,因为F将有助于在几行代码中实现它,您在F中发现优化的机会比在C中更好。 此外,本文对性能问题也有类似的看法: http://diditwith.net/2008/04/03/ApplesAndOranges.aspx |
|
|
4
1
也许你已经知道了,但也许不知道。 Google的名字是“Luke Hoban”,他已经用C 3.0制作了一个光线跟踪器,现在在微软F团队工作。 参见: http://blogs.msdn.com/lukeh/ 和 http://blogs.msdn.com/lukeh/archive/2007/04/03/a-ray-tracer-in-c-3-0.aspx . 他应该知道。 |
|
5
0
事实上,从理论上讲,x86机器只能执行具有命令性质的x86程序集,因此,从理论上讲,强制实现函数语言的性能是可能的。因此,您可以编写比F对应程序相同或更好的C程序。这里的关键词是 可以 . 这并不意味着所有的C程序都比F程序或类似的程序好。一般来说,在大多数问题中,F性能是可以接受的。在某些情况下,F性能落后于C太多,但一般来说,对于大多数应用程序来说,这是可以的。但是,如果您想要对代码的实际操作进行细粒度控制,那么函数语言不适合您。你在C中的优化机会比在F中的多。顺便说一句,用f,我的意思不是写命令式代码,而是普通的功能性方法(如果你想强制地写代码,我认为f没有多大意义)。 |
|
|
6
0
我最初的反应是,由于c和f输出msil,性能将相同。但是你使用的结构可能会产生不同的IL。该主题已在链接中详细讨论。 here on SO . |
|
|
7
0
f更适合并行编程。因此,开箱即用(在多核/CPU上)它可以更快。 但是,同样,您可以优化c_以将其用作WEL,但这将是一项更大的工作。 |
|
|
Thomas · 使类型别名在F中不可互换# 3 年前 |
|
sdgfsdh · 我该怎么说。使用异步转换函数进行收集? 7 年前 |
|
|
Soldalma · 我可以实例化包含顶级副作用值的类吗? 7 年前 |
|
|
matekus · F#-包含数字的字符串的自然排序 7 年前 |
|
|
matekus · F#类型匹配-无法创建映射或匹配记录 7 年前 |
|
|
Rob Lyndon · 未找到F#ProvidedTypes文件 7 年前 |
|
|
red-swan · 如何将intro ML.Net演示翻译为F#? 7 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 7 年前 |