大家好,今天小编关注到一个比较有意思的话题,就是关于java语言求和的问题,于是小编就整理了1个相关介绍Java语言求和的解答,让我们一起看看吧。
为什么感觉python比j***a、c++慢很多?
所谓慢,也只是因为CPython的实现相对保守一点罢了,又不是没有别的选择?更可况Python大多数时候是作为简单易用的胶水语言来使用,负载高的底层计算模块的实现,完全可以用效率高的C语言,用Python随便摆弄一下上层逻辑就好了,无伤大雅。
以时下比较火爆、所需计算负载高得惊人的人工智能领域为例,无论是机器学习框架还是数据处理程序,Python都是当之无愧的主角,要是真的慢,早就一脸嫌弃的被抛弃了……
我们一般使用的 Python 是 CPython,导致它慢的原因主要有下面三条:
动态特性导致 Python中的变量没有类型声明,在执行过程中随时可能改变其类型,因此其很难被优化,而且还会有变量类型变动带来的内存释放及重新分配的性能损失。
Python 是一种解释型的语言,不像 C/C++ 等编译型语言会直接将代码编译诚机器吗执行,另外 Python 也没有像 J***a 那样的即时编译工具(JIT)。
从语言的本质上来讲,python是解释型语言,而c++是编译型语言。
也就是说python代码解释一句,执行一句;而c++语言是讲整个代码编译、链接为机器可识别的二进制代码,最后一起执行。
所以从这个角度来讲,c++自然会比python在很多情况下快很多。
就是gil导致这货只能跑一个线程,无法充分利用cpu。题主说的场景,语言解释性是次要的,可以忽略。python真正多线程只能通过调用c库。gevent,libuv等实现。所以当年那些人工智能库只是为了语法简单就选了python,真的是一个很二的选择。
谢邀。为什么Python很慢?由于各种原因,Python比Fortran和C慢:其中有一个很主要的原因是Python是动态类型而不是静态类型。
这意味着在程序执行时,解释器不知道定义的变量的类型。 此图表总结了C变量(我使用C作为编译语言的替代)和Python变量之间的区别:
对于C中的变量,编译器通过其定义知道类型。 对于Python中的变量,在程序执行时你所知道的只是它是某种Python对象。
到此,以上就是小编对于j***a语言求和的问题就介绍到这了,希望介绍关于j***a语言求和的1点解答对大家有用。