On Friday, 1 April 2016 at 11:00:29 UTC, Johan Engelen wrote:

Unfortunately, and perhaps expectedly, it did not give a large size reduction / speed boost. Not very statistically sound results though ;)

The times I measured are not including linking (!). But I think the small difference in file size does not predict much improved link times.

Meanwhile, I've implemented hashing of function names and other symbols *for the backend*, giving an object file size reduction of ~25% (hashing everything larger than 100 chars) for my current testcase (251MB -> 189MB). Hashing symbols in the FE is not possible with my testcase because of std.traits.ParameterStorageClassTuple... :/

For changes in mangling, it'd be good if std.traits.ParameterStorageClassTuple could be rewritten to not use the mangled function name + string processing.

std.traits.ParameterStorageClassTuple is a major obstacle for aggressive mangling changes. Perhaps someone has the time and skills to rewrite it if possible? (My D-fu is not really up to that task)

I'll try and keep you posted with some more measurements, to get a feel for what matters / what doesn't matter too much.

Reply via email to