| |
| Posted by Johnson Jones in reply to Johnson Jones | PermalinkReply |
|
Johnson Jones
Posted in reply to Johnson Jones
| On Tuesday, 8 August 2017 at 00:01:05 UTC, Johnson Jones wrote:
> On Monday, 7 August 2017 at 22:56:37 UTC, Moritz Maxeiner wrote:
>> On Monday, 7 August 2017 at 22:19:57 UTC, Johnson Jones wrote:
>>> Why would that be. Program take about 4 seconds to compile and 12 for x64. There is fundamentally no difference between the two versions. I do link in gtk x86 and gtk x64 depending on version, and that's it as far as I can tell.
>>>
>>> Debug
>>> x86 4
>>> x64 12
>>> Release
>>> x86 3
>>> x64 5
>>>
>>> The timings are pretty steady.
>>
>> Split up the build time in compile time and link time and see how the difference is distributed between the two.
>> If it's distributed overwhelmingly to the link time it could be that you're using Microsoft's linker for x64 and OPTLINK for x86?
>
> Yeah, I guess that is probably it. Forgot that two different linkers were used... although, Not much is being linked. Visual D doesn't split up the two easily, I suppose I can't separate them. It should probably do individual profiling between the two.
>
> Usually the build times are pretty close and I don't recall it being slow when I first started building, and my code hasn't changed much... But I did modify a few options such as debug diagnostics and such as those were causing visual studio to freeze.
>
> I guess I could perfmon it to see what exactly it is doing.
It takes about 3 seconds to write the map file(I have it generating cross references, not sure what it actually does but I thought it might help with debugging issues. I have it enabled for both x86 and x64. I thought I disabled
it with no differences, but maybe I missed it).
It takes another 4 seconds to create the pdb.
But it seems that about 6 seconds are done doing thing
7:13:14.7148555 PM link.exe 9860 QueryStandardInformationFile C:\D\Libraries\x64\gtkd.lib SUCCESS AllocationSize: 84,443,136, EndOfFile: 84,439,450, NumberOfLinks: 1, DeletePending: False, Directory: False
7:13:14.7148665 PM link.exe 9860 CreateFileMapping C:\D\Libraries\x64\gtkd.lib SUCCESS SyncType: SyncTypeOther
7:13:15.7801685 PM ServiceHub.IdentityHost.exe 4952 Thread Exit SUCCESS Thread ID: 11224, User Time: 0.0000000, Kernel Time: 0.0000000
7:13:17.2481064 PM ServiceHub.VSDetouredHost.exe 5004 Thread Create SUCCESS Thread ID: 10976
7:13:17.4141043 PM devenv.exe 1040 Thread Create SUCCESS Thread ID: 11200
7:13:17.8990951 PM DParserCOMServer.exe 4492 Thread Create SUCCESS Thread ID: 9176
7:13:18.7481654 PM ServiceHub.VSDetouredHost.exe 5004 Thread Exit SUCCESS Thread ID: 10976, User Time: 0.0000000, Kernel Time: 0.0000000
7:13:18.9163321 PM devenv.exe 1040 Thread Exit SUCCESS Thread ID: 11200, User Time: 0.0000000, Kernel Time: 0.0000000
7:13:19.4011479 PM DParserCOMServer.exe 4492 Thread Exit SUCCESS Thread ID: 9176, User Time: 0.0000000, Kernel Time: 0.0000000
7:13:19.9681080 PM ServiceHub.VSDetouredHost.exe 5004 Thread Create SUCCESS Thread ID: 10416
Not sure what is happening in there but it seems like Visual D or Visual Studio issue rather than dmd ;/
I'll look in to it some more to see what I can find.
|