06.05.2020 11:18, data pulverizer пишет:
CPU usage now revs up almost has time to touch 100% before the process
is finished! Interestingly using `--boundscheck=off` without
`--ffast-math` gives a timing of around 4 seconds and, whereas using
`--ffast-math` without `--boundscheck=off` made no difference, having
both gives us the 1.5 seconds. As Jacob Carlborg suggested I tried
adding `-mcpu=native -flto=full
-defaultlib=phobos2-ldc-lto,druntime-ldc-lto` but I didn't see any
difference.
Current Julia time is still around 35 seconds even when using @inbounds
@simd, and running julia -O3 --check-bounds=no but I'll probably need to
run the code by the Julia community to see whether it can be further
optimized but it's pretty interesting to see D so far in front.
Interesting when I attempt to switch off the garbage collector in Julia,
the process gets killed because my computer runs out of memory (I have
over 26 GB of memory free) whereas in D the memory I'm using barely
registers (max 300MB) - it uses even less than Chapel (max 500MB) -
which doesn't use much at all. It's exactly the same computation, D and
Julia's timing were similar before the GC optimization and compiler flag
magic in D.
What is current D time? That would be really nice if you make the resume
of your research.