Hi,

On Sat, Nov 3, 2012 at 6:43 AM, <[email protected]> wrote:
>
> The only thing I can think of that makes this code different from others
> I've written in the past is that it makes extensive use of associative
> arrays.  Is there any reason why this might be particularly problematic
> with LDC?


the only really good answer to this question is profiling.

However, one guess would be that the LDC build system currently creates a
debug build of druntime and Phobos by default. This is probably enough to
create a significant slowdown in many applications, and AA-heavy code will
probably call quite a few druntime functions.

This definitely needs to be changed, but I guess the best solution would be
to reactivate the -defaultlib/-debuglib mechanism and build two copies of
Phobos/druntime as part of the standard build process.

To test whether this is really the cause for the slowdown, you can just
modify the D_FLAGS variable in CMake accordingly, e.g. set it to
-d;-O3;-release.

David

-- 


Reply via email to