小编Kar*_*der的帖子

为什么我的 D 代码查找素数比我的 C++ 代码快得多?

我分别用 C++ 和 D(lang) 编写了两个小项目来计算给定数量的素数。两个项目中的代码非常相似。然而,我的 D 代码比我的 C++ 代码运行得快得多,尽管据说 C++ 更快。我使用 dmd 和 dub 来编译 D 代码,使用 Clang (LLVM 11.0) 和 Visual C++ 来编译我的 C++ 代码。我使用 Visual Studio Code 从命令行实际开发和编译我的 C++ 程序,尽管使用 -O3。如果某些变量名称不匹配,我很抱歉,我很快从德语翻译了我的代码。下面是我的代码:

C++ 实现:

主.cpp:

#include <iostream>
#include <chrono>
#include <vector>

#include "isqrt.hpp"

bool prime(int number)
{
    for(unsigned i = 2; i < isqrt(number)+1; i++)
    {
        if (!(number % i))
        {
            return false;
        }
    }
    return true;
}

int main(int argc, char *argv[])
{
    std::cout << "Prime numbers\n-------------------------\n" << …
Run Code Online (Sandbox Code Playgroud)

c++ d

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

标签 统计

c++ ×1

d ×1