Math 计算大数的最快编程语言?

Math 计算大数的最快编程语言?,math,numbers,largenumber,Math,Numbers,Largenumber,如果我想用数亿位数(正整数)计算数字,哪种编程语言最适合 目前我使用的是python,脚本正在运行,编写代码很容易,但我担心它的速度 我对汇编真的不太了解,所以虽然它可能是最快的,但我宁愿不使用它。C是这里最好的选择吗 我必须使用的具体操作有*、-、%(mod)、求幂、相等性测试(if语句)、基本循环和某种输出功能(例如控制台输出) 非常感谢。您可以与普通C一起使用,但请注意,许多动态语言也将其用于任意精度的数字,python也是如此。使用C.GMP库和C/C++,您可能不会获得太多收益 这是您

如果我想用数亿位数(正整数)计算数字,哪种编程语言最适合

目前我使用的是python,脚本正在运行,编写代码很容易,但我担心它的速度

我对汇编真的不太了解,所以虽然它可能是最快的,但我宁愿不使用它。C是这里最好的选择吗

我必须使用的具体操作有*、-、%(mod)、求幂、相等性测试(if语句)、基本循环和某种输出功能(例如控制台输出)


非常感谢。

您可以与普通C一起使用,但请注意,许多动态语言也将其用于任意精度的数字,python也是如此。使用C.GMP库和C/C++,您可能不会获得太多收益


这是您要阅读的资源。这驳斥了C是最快的说法,除非您使用C99限制功能。如果C++中的任何东西都比C快,那么当两个单独的但顺序操作“读取”引用相同的内存位置时,编译器的理解就归结为编译器。这允许编译器重新排序操作以进行优化。看来Fortran在这方面做得最好

你也可以看到,FORTRAN在曼德尔布罗特例程中吹走C++。但是,当涉及到文本操作时,C++似乎是上乘。


您能提供更多的上下文吗?你想干什么?你在用什么操作系统?你想要什么样的速度?啊,很抱歉没有指定操作系统。目前我使用的是Windows 7,至于我要做的事情,我只是通过一些有趣的算法运行一些非常大的数字。加法、减法和模运算。。。大概但是乘法呢?这将是缓慢的,无论什么编程语言…你可能想尝试GMP库,用C编写,它做你想要的,但你不会最终创建自己的实现:花时间在算法改进上,而不是语言跳跃。你能详细说明这一部分吗?这个计算可能会运行数天或数周,所以我能得到的任何速度提升都是不可忽略的。您认为python的开销有多大超过了用普通C语言编写它?这取决于您正在尝试做什么。。。如果90%的时间都花在GMP上,10%的时间花在Python上,那么你就不会有什么收获。。如果有很多控制结构,操纵容器等等,那么它可能是值得的。@markbyers:uhm不。。有数以百万计的数字,这绝对是非常不现实的。python只是这些计算的一个薄薄的包装器。@马克-通常我不会怀疑这一点,但在这种情况下,每个基本的数学运算都会在GMP代码中花费大量时间-例如,将两个数亿数字相乘将花费相当多的时间。相比之下,在Python编码的算法中花费的时间可能很小。@yi_H:uhm不。。Python使用自己的实现实现任意精度的数字。gmpy模块[]为GMP库提供了一个包装器。对于百万位数的数字,gmpy要快得多。快速测试:在快速64位机器上,将百万位数提高到100次方大约需要4秒钟。将两个1亿位数相乘大约需要3秒钟。使用Python的开销非常低。免责声明:我保持GMPY。这应该是一个注释,而不是答案。所有链接显示的是,编写的C++代码写得很差,使用特定编译器的性能很差。这并不意味着C++或FORTRAN天生就比另一个更快。@ MooingDuck和DealLax:我猜你们两个可能更了解编译器,我觉得自己可以自由地参与讨论。编程只不过是我的一个爱好…,一个我花了太多时间的爱好。