DMD producing huge binaries
ZombineDev via Digitalmars-d
digitalmars-d at puremagic.com
Fri May 20 05:57:40 PDT 2016
On Friday, 20 May 2016 at 12:21:58 UTC, Johan Engelen wrote:
> On Friday, 20 May 2016 at 10:54:18 UTC, Andrei Alexandrescu
> wrote:
>> On 5/19/16 6:16 PM, Walter Bright wrote:
>>> On 5/19/2016 6:45 AM, Andrei Alexandrescu wrote:
>>>> I very much advocate slapping a 64-long random string for all
>>>> Voldermort returns
>>>> and calling it a day. I bet Liran's code will get a lot
>>>> quicker to
>>>> build and
>>>> smaller to boot.
>>>
>>> Let's see how far we get with compression first.
>>>
>>> https://github.com/dlang/dmd/pull/5793
>>>
>>> Using 64 character random strings will make symbolic
>>> debugging unpleasant.
>>
>> This is a fallacy. I don't think so, at all, when the baseline
>> is an extremely long string.
>
> I agree with Andrei.
> I solved it this way
> https://github.com/ldc-developers/ldc/pull/1445:
> "Hashed symbols look like this:
> _D3one3two5three3L3433_46a82aac733d8a4b3588d7fa8937aad66Result3fooZ
> ddemangle gives:
> one.two.three.L34._46a82aac733d8a4b3588d7fa8937aad6.Result.foo
> Meaning: this symbol is defined in module one.two.three on line
> 34. The identifier is foo and is contained in the struct or
> class Result."
I like your approach. As I said earlier, it would be best if can
prevent the generation of long symbols in the first place,
because that would improve the compilation times significantly.
Walter's PR slows down the compilation with 25-40% according to
my tests. I expect that compilation would be faster if the whole
process is skipped altogether.
More information about the Digitalmars-d
mailing list