最快的数学编程语言?

时间:2011-11-06 07:10:16

标签: performance math compression

我有一个需要数百万减法和余数的应用程序,我最初在C#.Net中编写了这个算法,但是处理这些信息需要5分钟,我需要它比这更快。

我考虑过perl,这似乎是现在最好的选择。 Vb.net测试速度较慢。 C ++也可能更好。任何建议都将不胜感激。

7 个答案:

答案 0 :(得分:8)

  1. 您需要一种编译语言,如Fortran,C或C ++。其他语言旨在为您提供灵活性,面向对象或其他优势,并假设绝对最快的性能不是您的最高优先级。

  2. 了解如何从单个线程中获得最大性能,并在完成此操作后,调查多个核心之间的工作共享,例如使用MPI。为了在单个线程中获得最大性能,我做的一件事就是在机器指令级别单步执行,以确保它不会在可以移除的东西中徘徊。

答案 1 :(得分:5)

有些计算足以使GPGPU获利:最近的图形卡本质上是专门的大规模并行数字协处理器。例如,您可以在OpenCL中编写数值内核代码。否则,请学习C++11(不是C ++标准的某些早期版本)或C.在许多情况下,Ocaml几乎与C ++一样快,但更容易编码。

也许您的问题可由scilabR处理,我不太了解它可以提供更多帮助。

您可以通过以下方式利用您的多核处理器使用PthreadsMPI

最后,Linux操作系统可能更适合处理大量计算。重要的是,大多数超级计算机今天都使用它。

答案 2 :(得分:4)

如果执行速度是最高优先级,那通常意味着Fortran。

答案 3 :(得分:0)

PARI/GP是迄今为止我用过的最好的。它是用C语言编写的。

答案 4 :(得分:0)

工程中数学数值运算的标准工具通常是Matlab(或者作为自由替代八度或已经提到过的scilab)。

答案 5 :(得分:0)

尝试查看DMelt mathematical program。该程序调用Java库。 Java虚拟机可以为您优化长时间的数学计算。

答案 6 :(得分:0)

尝试Julia:它的杀戮功能很容易以高级简洁的方式编码,同时保持与Fortran / C相同数量级的性能。