我正在比较 Julia 和 C++ 之间的性能。然后我发现 Julia 中的快速排序要快得多(甚至比 C++ 还要快),尤其是当数组的大小非常大时。
任何人都可以解释原因吗?
快速排序文件
include("../dimension.jl")
function execute()
n = getDimension()
print(stderr, "Julia,quickSort_optim,$n,"); # use default delimiter
arr = zeros(Int32, n)
for i = 1:n
arr[i] = (777*(i-1)) % 10000
end
if n > 0
sort!(arr; alg=QuickSort)
end
end
# executing ...
execute()
Run Code Online (Sandbox Code Playgroud)
quickSort_boost.cpp
#include "dimension.h"
#include <boost/lambda/lambda.hpp>
#include <boost/sort/pdqsort/pdqsort.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
using namespace boost::sort;
int main()
{
int n = getDimension();
cerr << "C++,quickSort_boost," << n …Run Code Online (Sandbox Code Playgroud)