Thread overview
shared defaultlib with dmd
Jan 18, 2022
forkit
Jan 18, 2022
Adam D Ruppe
Jan 18, 2022
forkit
Jan 18, 2022
H. S. Teoh
Jan 18, 2022
forkit
January 18, 2022
so I use this compile command (on Windows, using ldc)

-link-defaultlib-shared=true

Then (in simple example) the size of my compiled .exe:

From 806KB down to 18KB

Oh. That's so much nicer on my SSD ;-)

(yes, I understand the implictions here of dynamic sharing, but I test/compile/debug so much, that I'd like to limit the impact on my SSD drive.

But I can't do this with dmd ?? it has not such option ??

January 18, 2022
On Tuesday, 18 January 2022 at 22:04:15 UTC, forkit wrote:
> so I use this compile command (on Windows, using ldc)

On Linux dmd can do `-defaultlib=libphobos2.so` for the same thing.

On Windows, dmd cannot handle a shared druntime.
January 18, 2022
On Tuesday, 18 January 2022 at 22:09:18 UTC, Adam D Ruppe wrote:
> On Tuesday, 18 January 2022 at 22:04:15 UTC, forkit wrote:
>> so I use this compile command (on Windows, using ldc)
>
> On Linux dmd can do `-defaultlib=libphobos2.so` for the same thing.
>
> On Windows, dmd cannot handle a shared druntime.

yes. but why?

 - is it technically too difficult? (ldc seems to have overcome that, if that's true)

January 18, 2022
On Tue, Jan 18, 2022 at 10:04:15PM +0000, forkit via Digitalmars-d-learn wrote:
> so I use this compile command (on Windows, using ldc)
> 
> -link-defaultlib-shared=true
> 
> Then (in simple example) the size of my compiled .exe:
> 
> From 806KB down to 18KB
> 
> Oh. That's so much nicer on my SSD ;-)
> 
> (yes, I understand the implictions here of dynamic sharing, but I test/compile/debug so much, that I'd like to limit the impact on my SSD drive.
[...]

Uhm... are you SURE this is actually nicer on your SSD?  For all you know, it could be writing the 806KB first and then optimizing that in-place to reduce it to 18KB...  Just because the final file size is small doesn't mean there aren't any large intermediate files.


T

-- 
Never ascribe to malice that which is adequately explained by incompetence. -- Napoleon Bonaparte
January 18, 2022
On Tuesday, 18 January 2022 at 22:35:08 UTC, H. S. Teoh wrote:
> On Tue, Jan 18, 2022 at 10:04:15PM +0000, forkit via Digitalmars-d-learn wrote:
>> so I use this compile command (on Windows, using ldc)
>> 
>> -link-defaultlib-shared=true
>> 
>> Then (in simple example) the size of my compiled .exe:
>> 
>> From 806KB down to 18KB
>> 
>> Oh. That's so much nicer on my SSD ;-)
>> 
>> (yes, I understand the implictions here of dynamic sharing, but I test/compile/debug so much, that I'd like to limit the impact on my SSD drive.
> [...]
>
> Uhm... are you SURE this is actually nicer on your SSD?  For all you know, it could be writing the 806KB first and then optimizing that in-place to reduce it to 18KB...  Just because the final file size is small doesn't mean there aren't any large intermediate files.
>
>
> T

no. there are no intermediary files. just this, and only this:

(bytes)
145 EZ_Compiler_tmpfile.d
15,360 EZ_Compiler_tmpfile.exe
18,384 EZ_Compiler_tmpfile.obj