title: What are the advantages of using runtime specific implementations?
body: <p>When running a <code>dotnet restore --runtime linux-musl-x64</code> from inside an alpine container, I noticed some <code>runtime.unix.System*</code> packages being downloaded, which are not downloaded when the <code>--runtime</code> flag is not specified. I'm assuming that is because when the <code>runtime</code> is not present dotnet restore defaults it to <code>any</code> restoring platform-agnostic implementations provided by the package. Is this a correct assumption?</p>
  
  <p>I would like to know if it is documented anywhere the advantages of using runtime specific implementations of .Net CORE packages ? For instance <code>System.Net.Sockets</code> and <code>runtime.unix.System.Net.Sockets</code>. I would assume because they are not generic implementations they are more efficient from a memory and CPU utilization perspective but are there any official recommendations or benchmarks? </p>