Array fill performance differences between for, foreach, slice
lithium iodate
whatdoiknow at doesntexist.net
Wed Apr 1 14:28:44 UTC 2020
On Wednesday, 1 April 2020 at 06:48:09 UTC, Jacob Carlborg wrote:
> I you care about performance you should really compile using
> LDC (with `-O5 -release -flto=full
> -defaultlib=phobos2-ldc-lto,druntime-ldc-lto`), which usually
> produces much better code:
>
> Slice: Mean time(usecs): 50.58, Standard Deviation: 46.2621
> Foreach: Mean time(usecs): 53.92, Standard Deviation: 19.8039
> For: Mean time(usecs): 39.89, Standard Deviation: 7.80041
>
> Slice: Mean time(usecs): 76.62, Standard Deviation: 73.0014
> Foreach: Mean time(usecs): 49.63, Standard Deviation: 24.5672
> For: Mean time(usecs): 40.02, Standard Deviation: 7.67388
The benchmark is highly flawed, the results for LDC are
completely meaningless. LDC produces identical code for every
case and the filling procedures are all elided.
More information about the Digitalmars-d-learn
mailing list