非常大的数组和非常大的数字的最佳编程语言?

时间:2011-02-17 13:30:50

标签: arrays programming-languages performance

对于非常大的数组和非常大的数字,最好的编程语言是什么?

  • 使用超过30,000个索引的数组
  • 数字超过100位

此外,它需要高效或易于提高效率。

感谢。

4 个答案:

答案 0 :(得分:5)

几乎任何有价值的编程语言都应具备这些特性,坦率地说,我认为我不想使用任何语言来处理30,000个元素的数组。我将列出一些对非常大的数字有很好支持的人:

<强>蟒即可。 Python 3自动支持大数字,因为默认数字类型会根据需要增长,并且有一些really awesome math libraries.其他语言可能会稍微快一点,但除非出于某种原因你确定python不会很好我会从那里开始。

<强> C#即可。这将主要绑定到Windows,但它非常受欢迎,快速,meets your requirements

<强>爪哇即可。跨平台,mature support with BigInteger

<强> Haskell中即可。相当无缝的转换到大数字和强大的数学支持。如果你有强大的数学背景,Haskell会觉得很自然。如果您已经了解函数式编程,或者不介意花费几个小时来学习它,那么这是一个不错的选择。

<强> C / C ++ 即可。非常快,但开发起来有点复杂。你可能会在其他东西的大量支持下获得更好的结果。我只研究C ++,如果你尝试用另一种语言优化代码并且仍然不够快,除非你有特殊的理由不使用中间编译的语言。


事情的真相是,很难找到支持这些东西的编程语言,如果你可能我可能不会将它用于任何事情,因为它可能不是那样的成熟。您是否有任何其他要求可以帮助我们进一步缩小范围? :d

答案 1 :(得分:4)

阵列不是问题。由100个数字(数字)组成的数字是一个巨大的问题。我对这个问题没有一个好的答案(过时),但是随着谷歌的出现,我会提到大多数语言只支持32到64位数字。 (我知道C语言系列,PHP,as3和Java不支持大量数字。)

例如,32位数字允许的范围为0到4,294,967,295(2 ^ 32-1),这只是10个数字(实际上更像9,因为限制是按大小而不是数字),整个数量级低于提问者所需要的100位数字。

那说我知道有些人在C和AS3中实现对大数字的支持......

答案 2 :(得分:1)

使用NumPy的Python可能就是你想要的。

答案 3 :(得分:0)

我总是发现Fortran在处理数组时非常好,尤其是。与多维的。如果您正在处理非常大的数字,您可能需要定义自己的数据类型或者以精度损失为生。或者使用:http://www.fortran.com/big_integer_module.f95

但这取决于你想做什么。 Fortran非常适合进行数值计算,对于其他所有内容都不太好。