4 ms·
It's including compilation time and memory too, which I would consider a major flaw in the benchmarks game. If I wrap things in a function and run it a second
by stabbles 6y ago
It's including compilation time and memory too, which I would consider a major flaw in the benchmarks game.
If I wrap things in a function and run it a second time in the repl, this is what I get:
$ JULIA_LLVM_ARGS="-unroll-threshold=500" ~/julia-b00e9f0bac/bin/julia -O3 --check-bounds=no
julia> include("nbody.jl")
run (generic function with 1 method)
julia> @time run(50000000)
-0.169075164
-0.169059907
2.044478 seconds (294.25 k allocations: 12.599 MiB, 8.89% compilation time)
julia> @time run(50000000)
-0.169075164
-0.169059907
1.867936 seconds (12 allocations: 1.750 KiB)
So, the second time there's no compilation overhead, just like in Rust, C, C++.
- ChrisRackauckas 6y agoJulia is not allowed to use its compiler (PackageCompiler.jl) but Rust and C are. It's really silly and imposed by the author of the benchmarks for no clear reason.