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