Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider merging System.Net.Primitives and System.Net.Sockets #30833

Closed
scalablecory opened this issue Sep 11, 2019 · 7 comments
Closed

Consider merging System.Net.Primitives and System.Net.Sockets #30833

scalablecory opened this issue Sep 11, 2019 · 7 comments
Milestone

Comments

@scalablecory
Copy link
Contributor

I think Primitives and Sockets are good candidates to merge back into a single assembly.

This would allow us to make some optimizations that are currently impossible because we lack access to internals between the assemblies. One such example is anything on Socket that takes an IPEndPoint argument.

Related:

@davidsh
Copy link
Contributor

davidsh commented Sep 11, 2019

Dropping "area-System.Net.Sockets" label. According to @karelz we only use one area label.

@davidsh
Copy link
Contributor

davidsh commented Sep 11, 2019

I think this issue opens up the broader discussion of merging other libraries (we used to call them 'contracts'). For example, merging System.Net.WebHeaderCollection with System.Net.Requests would solve some problems (#18784). In general, many times we really don't need new APIs between the libraries; we just need the libraries merged so that we can utilize 'internal' methods.

In .NET Framework, we had almost everything in System.dll. We moved to separate libraries as we went to .NET Core and had separate packages for things. It was thought, back then, that having many small dll's was a good thing.

However, things change. Now, we don't publish separate packages for each library. Binaries are lumped together in "mega" packages, i.e. Microsoft.NETCore.App. And there is no longer as much value in keeping binaries separate anymore, especially as we think about more 'native' solutions (IL to native code, i.e. .NET Native type of things) and single-executables for .NET Core.

@stephentoub

@JanEggers
Copy link

maybe you should rather make the internals public then as they may be usefull for someone else as well...

@MarcoRossignoli
Copy link
Member

MarcoRossignoli commented Sep 13, 2019

It was thought, back then, that having many small dll's was a good thing.

I remember that was one of the most advertised feat on docs/post/conference 😏 but yes...things change.

@stephentoub
Copy link
Member

stephentoub commented Sep 17, 2019

I'm not against recombining assemblies, but any such combining should be motivated by significant enough wins to warrant the effort, whether those wins be throughput, allocation reduction, binary size, etc. If we're interested in this, I suggest someone prototype it and see what the concrete benefits would actually be.
cc: @ericstj

@msftgits msftgits transferred this issue from dotnet/corefx Feb 1, 2020
@msftgits msftgits added this to the Future milestone Feb 1, 2020
Copy link
Contributor

Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.

This process is part of our issue cleanup automation.

@dotnet-policy-service dotnet-policy-service bot added backlog-cleanup-candidate An inactive issue that has been marked for automated closure. no-recent-activity labels May 1, 2024
Copy link
Contributor

This issue will now be closed since it had been marked no-recent-activity but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days.

@dotnet-policy-service dotnet-policy-service bot removed this from the Future milestone May 16, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jun 15, 2024
@dotnet-policy-service dotnet-policy-service bot removed no-recent-activity backlog-cleanup-candidate An inactive issue that has been marked for automated closure. labels Jun 15, 2024
@karelz karelz added this to the 9.0.0 milestone Jun 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants