• <tfoot id='aKH6q'></tfoot>

        <small id='aKH6q'></small><noframes id='aKH6q'>

        <legend id='aKH6q'><style id='aKH6q'><dir id='aKH6q'><q id='aKH6q'></q></dir></style></legend>
        • <bdo id='aKH6q'></bdo><ul id='aKH6q'></ul>
      1. <i id='aKH6q'><tr id='aKH6q'><dt id='aKH6q'><q id='aKH6q'><span id='aKH6q'><b id='aKH6q'><form id='aKH6q'><ins id='aKH6q'></ins><ul id='aKH6q'></ul><sub id='aKH6q'></sub></form><legend id='aKH6q'></legend><bdo id='aKH6q'><pre id='aKH6q'><center id='aKH6q'></center></pre></bdo></b><th id='aKH6q'></th></span></q></dt></tr></i><div id='aKH6q'><tfoot id='aKH6q'></tfoot><dl id='aKH6q'><fieldset id='aKH6q'></fieldset></dl></div>

        F#在科学计算中的表现

        F# performance in scientific computing(F#在科学计算中的表现)
        <i id='aUHNi'><tr id='aUHNi'><dt id='aUHNi'><q id='aUHNi'><span id='aUHNi'><b id='aUHNi'><form id='aUHNi'><ins id='aUHNi'></ins><ul id='aUHNi'></ul><sub id='aUHNi'></sub></form><legend id='aUHNi'></legend><bdo id='aUHNi'><pre id='aUHNi'><center id='aUHNi'></center></pre></bdo></b><th id='aUHNi'></th></span></q></dt></tr></i><div id='aUHNi'><tfoot id='aUHNi'></tfoot><dl id='aUHNi'><fieldset id='aUHNi'></fieldset></dl></div>

        <small id='aUHNi'></small><noframes id='aUHNi'>

          <tbody id='aUHNi'></tbody>

        <tfoot id='aUHNi'></tfoot>
        • <bdo id='aUHNi'></bdo><ul id='aUHNi'></ul>

                1. <legend id='aUHNi'><style id='aUHNi'><dir id='aUHNi'><q id='aUHNi'></q></dir></style></legend>
                  本文介绍了F#在科学计算中的表现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我很好奇 F# 的性能与 C++ 的性能相比如何?我问了一个关于 Java 的类似问题,我得到的印象是 Java 不适合大量的数字运算.

                  I am curious as to how F# performance compares to C++ performance? I asked a similar question with regards to Java, and the impression I got was that Java is not suitable for heavy numbercrunching.

                  我读到 F# 应该具有更高的可扩展性和更高的性能,但与 C++ 相比,这种实际性能如何?有关当前实施的具体问题是:

                  I have read that F# is supposed to be more scalable and more performant, but how is this real-world performance compares to C++? specific questions about current implementation are:

                  • 它在浮点运算上的表现如何?
                  • 是否允许向量指令
                  • 它对优化有多友好编译器?
                  • 它的内存占用有多大?它是否允许对内存局部性进行细粒度控制?
                  • 它是否具有分布式的能力内存处理器,例如 Cray?
                  • 它有哪些功能可能对涉及大量数字处理的计算科学感兴趣?
                  • 是否有实际的科学计算使用它的实现?

                  谢谢

                  推荐答案

                  • F# 以 .NET CLR 允许的速度执行浮点计算.与 C# 或其他 .NET 语言没有太大区别.
                  • F# 本身不允许使用向量指令,但如果您的 CLR 有用于这些指令的 API,那么 F# 使用它应该不会有问题.参见例如 Mono.
                  • 据我所知,目前只有一个 F# 编译器,所以也许问题应该是F# 编译器在优化方面有多好?".答案在任何情况下都是可能与 C# 编译器一样好,目前可能会差一点".请注意,F# 不同于例如C# 支持在编译时内联,这可能允许更高效的代码依赖于泛型.
                  • F# 程序的内存足迹类似于其他 .NET 语言的内存足迹.您对分配和垃圾回收的控制量与其他 .NET 语言相同.
                  • 我不知道对分布式内存的支持.
                  • F# 有非常好的原语来处理平面数据结构,例如数组和列表.例如查看 Array 模块的内容:map、map2、mapi、iter、fold、zip...数组在科学计算中很流行,我猜是因为它们固有的良好的内存局部性.
                  • 对于使用 F# 的科学计算包,您可能想看看 Jon Harrop 在做什么.
                  • 这篇关于F#在科学计算中的表现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                    本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Constructor initialization Vs assignment(构造函数初始化 Vs 赋值)
                  Is a `=default` move constructor equivalent to a member-wise move constructor?(`=default` 移动构造函数是否等同于成员移动构造函数?)
                  Has the new C++11 member initialization feature at declaration made initialization lists obsolete?(声明时新的 C++11 成员初始化功能是否使初始化列表过时了?)
                  Order of constructor call in virtual inheritance(虚继承中构造函数调用的顺序)
                  How to use sfinae for selecting constructors?(如何使用 sfinae 选择构造函数?)
                  Initializing a union with a non-trivial constructor(使用非平凡的构造函数初始化联合)
                  <tfoot id='C1AXB'></tfoot>

                    <tbody id='C1AXB'></tbody>

                2. <i id='C1AXB'><tr id='C1AXB'><dt id='C1AXB'><q id='C1AXB'><span id='C1AXB'><b id='C1AXB'><form id='C1AXB'><ins id='C1AXB'></ins><ul id='C1AXB'></ul><sub id='C1AXB'></sub></form><legend id='C1AXB'></legend><bdo id='C1AXB'><pre id='C1AXB'><center id='C1AXB'></center></pre></bdo></b><th id='C1AXB'></th></span></q></dt></tr></i><div id='C1AXB'><tfoot id='C1AXB'></tfoot><dl id='C1AXB'><fieldset id='C1AXB'></fieldset></dl></div>
                    <bdo id='C1AXB'></bdo><ul id='C1AXB'></ul>

                    <small id='C1AXB'></small><noframes id='C1AXB'>

                      1. <legend id='C1AXB'><style id='C1AXB'><dir id='C1AXB'><q id='C1AXB'></q></dir></style></legend>