Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 适用于超大数组和超大数字的最佳编程语言?_Arrays_Programming Languages_Performance - Fatal编程技术网

Arrays 适用于超大数组和超大数字的最佳编程语言?

Arrays 适用于超大数组和超大数字的最佳编程语言?,arrays,programming-languages,performance,Arrays,Programming Languages,Performance,对于非常大的数组和非常大的数字,最好的编程语言是什么 具有超过30000个索引的数组 和超过100位的数字 此外,它还需要有效率,或易于提高效率 谢谢 几乎任何有价值的编程语言都应该具备这些特性,坦率地说,我不想使用任何不能处理30000个元素数组的语言。我将列出一些对非常大的数字有很好支持的方法: python。Python3自动支持大数字,因为默认的数字类型会根据需要增长,并且有一些其他语言可能会稍微快一点,但是除非出于某种原因您确实知道Python不够好,否则我将从这里开始 C#。这将

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

  • 具有超过30000个索引的数组
  • 和超过100位的数字
此外,它还需要有效率,或易于提高效率


谢谢

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

python。Python3自动支持大数字,因为默认的数字类型会根据需要增长,并且有一些其他语言可能会稍微快一点,但是除非出于某种原因您确实知道Python不够好,否则我将从这里开始

C#。这将主要使您绑定到windows,但它非常流行、快速、高效

Java。跨平台

Haskell。非常无缝的大数转换和强大的数学支持。如果你有很强的数学背景,哈斯克尔会觉得很自然。如果你已经知道函数式编程或者不介意花几个小时来学习它,这是一个不错的选择

C/C++。非常快,但开发起来有点复杂。您可能会在使用其他工具的大量支持中获得更好的结果。我只想看看C++,如果你已经尝试用其他语言优化代码,而且它还不够快,除非你有一个特殊的理由不使用中间编译的语言。

事实上,很难找到一种不支持这些东西的编程语言,如果可以的话,我可能不会用它做任何事情,因为它可能没有那么成熟。您是否有任何其他要求可以帮助我们为您进一步缩小范围D

我总是发现Fortran在处理数组,特别是多维数组时非常好。如果您处理的是非常大的数据,那么您可能需要定义自己的数据类型,否则将失去精度。或使用此:


但这取决于你想做什么。Fortran对于数值计算来说很好,但对于其他方面就没有那么好了。

使用NumPy的Python可能是您想要的。

数组不是问题所在。由100个数字组成的数字是一个巨大的问题。我对这个问题没有一个很好的答案(虽然已经过时了),但是随着这个问题在Google中的出现,我要提到的是,大多数语言只支持32到64位的数字。 (我知道C语言家族、PHP、as3和Java不支持大量的数字。)

例如,一个32位数字将允许0到4294967295(2^32-1)的范围,该范围仅为10个数字(实际上更像9,因为限制是按大小而不是数字),比提问者所需的100个数字小整整一个数量级


也就是说,我知道有些人在C和AS3中实现了对大数字的支持…

一个包含30k元素的数组没有那么大。@Matt如果元素很大,则没有;)@卡基拉:在大多数语言中,“大”对象数组只是指向这些对象的指针数组,而这些对象本身并没有那么大。即使在64位系统上,一个30k 8字节指针数组实际上也不难找到(其现有实现)不是特别有效的编程语言;)@toochin,这是真的,但除非你绝对肯定你的性能要求会证明在语言选择中把速度放在第一位,这意味着你已经用多种语言测试了代码,但仍然没有达到你需要的速度,否则我不会太担心性能。我同意,很明显,您不想使用javascript这样的语言来实现这一点DC/C++不支持大数字;你必须自己实现它们。