[Bench!][Mir] +54%..+185% performance boost for Mersenne Twister.
Joseph Rushton Wakeling via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jan 8 05:16:29 PST 2017
On Sunday, 8 January 2017 at 02:51:51 UTC, Andrei Alexandrescu
wrote:
> This indicates a compiler bug in dmd itself, so the best
> outcome for this library work would be a reduced compiler bug +
> a simple library workaround. -- Andrei
Yes, that much is clear -- sorry if I wasn't clear enough myself.
I'm asking for eyes on the problem because reducing it to a
minimal example appears non-trivial, while the bug itself looks
serious beyond its effect on this PR.
For what it's worth:
* it appears to be a backend issue, not frontend (using dmd
with the same
frontend as the latest ldc doesn't make a difference);
* creating an `enum` manifest constant from the CTFE function
works fine,
but assigning to the runtime struct field from that enum
produces the
same mostly-zeros result;
* it definitely doesn't appear to be something as trivial as
just default
initializing a struct instance (or a struct instance
including a static
array of more than a certain size) being the problem.
I will keep trying to reduce it to a minimal example, but
CTFE-related backend bugs are not something I have a lot of
experience with tracking down, hence the request for help.
Would filing an issue still be helpful at this stage, even
without a minimal example?
More information about the Digitalmars-d
mailing list