On 4/16/2018 3:27 PM, Ivan Trombley wrote:
I want to revisit this issue.
Building 64 bit on Linux, release or debug, is fast. However, building
64 bit release on Windows 10 is super slow. I have a cross platform app
that uses gtk-d. Today, I updated DMD to 2.079.1 and the gtk-d lib to
3.8.0. When I performed a debug build on Windows 10, it only took a few
seconds to build gtk-d. I attempted to build release but canceled the
build after a couple of hours. I tried building 32 bit release on
Windows and while it took a lot longer than debug, it still completed in
a reasonable amount of time (it wouldn't link, though, probably because
I'm missing some 32 libraries).
Does anyone have any idea why 64 bit release builds on Windows would
take so long?
I have no idea why, but I can confirm that I am seeing something similar
on Windows 10. I have tried it both with anti-virus enabled and
disabled, with the same results.
Compiler Version: 2.079.1 (-m64 switch set in the sc.ini file)
Using a gtkd project (tried two versions 3.8.0 and 3.8.1)
Attempts:
1. plain build
It succeeds with this output (build time is 21 seconds, including fetching):
C:\DProj\gtktest>dub build -b plain --force
Fetching gtk-d 3.8.1 (getting selected version)...
Performing "plain" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
gtk-d:gtkd 3.8.1: building configuration "library"...
gtk-d:gstreamer 3.8.1: building configuration "library"...
gtk-d:peas 3.8.1: building configuration "library"...
gtk-d:sv 3.8.1: building configuration "library"...
gtk-d:vte 3.8.1: building configuration "library"...
gtktest ~master: building configuration "application"...
Linking...
2. debug build
It succeeds with a linker warning (build time is 23 seconds, already
fetched):
C:\DProj\gtktest>dub build -b debug --force
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
gtk-d:gtkd 3.8.1: building configuration "library"...
gtk-d:gstreamer 3.8.1: building configuration "library"...
gtk-d:peas 3.8.1: building configuration "library"...
gtk-d:sv 3.8.1: building configuration "library"...
gtk-d:vte 3.8.1: building configuration "library"...
gtktest ~master: building configuration "application"...
Linking...
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
gtkd-3.lib(ActionIF.obj) : warning LNK4255: library contain multiple
objects of the same name; linking object as if no debug info
3. release build
This hangs (I killed it after 10 minutes):
C:\DProj\gtktest>dub build -b release --force
Performing "release" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
gtk-d:gtkd 3.8.1: building configuration "library"...