July 24, 2021

On Saturday, 24 July 2021 at 09:12:15 UTC, JG wrote:

>

the slowest parts are in library code

This is really common. A lot of libraries do really weird things... if you want to keep quick builds it is best to use the language directly.

July 25, 2021

On Saturday, 24 July 2021 at 09:12:15 UTC, JG wrote:

>

On Saturday, 24 July 2021 at 08:26:39 UTC, JG wrote:

>

On Friday, 23 July 2021 at 20:03:22 UTC, Dennis wrote:

>

On Friday, 23 July 2021 at 18:53:06 UTC, JG wrote:

>

[...]

You can try profiling it with LDC 1.25 or later. Add this to dub.sdl:

[...]

Thanks for this suggestion. Unfortunately this makes the compile use too much memory for my system and so it gets killed before the end and no my-trace.tracy file is produced. I will try building on parts of the program with this and see if I can see what is going on.

Got this to work after removing part of the program, the slowest parts are in library code (sumtype match to be precise). I will look into whether my usage can be improved.

I should also mention that what I said about compile time was a little inaccurate, some of that time linking (which involves llvm).

LLVM is known to be slow to compile

If you are on windows i suggest to use DMD for iterating quickly, i get much faster compile time with it (probably on linux too, but i'm not a linux user)

July 25, 2021

One thing to add:

With LDC you can add this flag -linkonce-templates to get faster link time when using templates a lot

August 08, 2021

On Friday, 23 July 2021 at 18:53:06 UTC, JG wrote:

>

Any suggestion on how to try and improve the build time.

You could try some of the tools listed on the wiki for build time profiling:

https://wiki.dlang.org/Development_tools#Build_time_profiling

(intentional bump to aid search results, as apparently this list is not very well known)

1 2
Next ›   Last »