小编bus*_*uan的帖子

Python比C++更快?这是怎么发生的?

我正在使用Windows7使用CPython for python3.22和MinGW的g ++.exe for C++(这意味着我使用libstdc ++作为运行时库).我写了两个简单的程序来比较它们的速度.

蟒蛇:

x=0
while x!=1000000:
    x+=1
    print(x)
Run Code Online (Sandbox Code Playgroud)

C++:

#include <iostream>
int main()
{
    int x = 0;
    while ( x != 1000000 )
    {
        x++;
        std::cout << x << std::endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

两者都没有优化.

我先运行c ++,然后通过交互式命令行运行python,这比直接启动.py文件慢得多.

但是,python outran c ++的速度是原来的两倍多.Python花了53秒,c ++花了1分54秒.

是因为python对解释器进行了一些特殊的优化,还是因为C++必须引用和std会降低它并使它占用ram?
还是其他原因?

编辑:我再次尝试,\n而不是std::endl,并用-O3旗帜编译,这次花了​​1分钟达到500,000.

c++ python

8
推荐指数
5
解决办法
1万
查看次数

什么是Java可执行文件的文件扩展名?

如果C#或VB.NET作为MSIL代码分布在.exe文件中,那么Java分布在什么地方?Java是否有等效形式的.exe文件(.jar文件除外,我认为该文件不适合在计算机上分发)。还是有办法像MSIL一样在exe文件中保存Java中间语言(?)?然后将其分发到仍由JRE在执行时运行的exe中。

java deployment installer

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

deployment ×1

installer ×1

java ×1

python ×1