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 --
