Policy for exposing range structs

Johan Engelen via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 1 07:46:42 PDT 2016


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.


More information about the Digitalmars-d mailing list