language feature usage statistics

aliak something at
Fri Oct 18 19:53:46 UTC 2019

So this is something I've been wondering about for a while. And I 
don't believe I've seen any compiler with this, but have people 
ever thought about putting telemetry in compilers? How do people 
feel about having feature usage stats from dmd?

I can understand that networking from a compiler just sounds bad, 
but, there're other ways around it. e.g. write a file instead and 
ask dev to email it, or ask for permission before turning it on 
and send it, only do it in debug mode, I dunno, just spit balling 

But, having actual usage statistics will take away so many 
assumptions people have about how features are used, how often 
they're used, which features are not used, etc (of course if 
there're no statistics on a feature it doesn't mean it's never 
used). Data like this is very actionable - and is how any 
(probably non-enterprise) product is built these days (even 
vscode for example has an option to send usage stats).

Crash reporting is another thing. When the compiler crashes, that 
can be sent somewhere (again, with user permission).

Things that can be answered:
* which feature is not used and can be cut
* which feature is used the most and should be enhanced, fixed, 
* which combination of features are used together => can they be 

The next time someone says they don't think lazy is useful, we 
can point to actual data.

And then for example, from the features that are hardly used, we 
can start asking why they are not used. If we know why then 
future features that may contain the same base assumptions that 
led to the creation of the unused features can be avoided.

Figuring out why the features are unused, or hardly used, can 
also better enable us to make the feature usable.

These kind of stats can also be collected on any symbols that are 
loaded from std for eg, and then we can also get a feel for which 
functions and modules are used from phobos.

Anyway, I'm not sure about others, but if it'd make D a better 
language than the competition, I'd gladly trust dmd to send stats 
to a place the d language foundation controls.

- ali

More information about the Digitalmars-d mailing list