-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Remove LINQ allocations for all batched sends #26911
Conversation
Thank you for your contribution @danielmarbach! We will review the pull request and get back to you soon. |
sdk/servicebus/Azure.Messaging.ServiceBus/src/Primitives/ServiceBusModelFactory.cs
Outdated
Show resolved
Hide resolved
@JoshLove-msft @jsquire if I didn't screw things up this will be a pretty nice allocation improvement. Need to stop though for today. If you are planning to "sneak" this in too, feel free to edit the PR directly. |
Thanks @danielmarbach! For this one, I think we can wait until the next release as I've already started the release pipeline. |
I probably won't get a chance to dig into this until tomorrow, but at a glance it's something I can likely apply to Event Hubs as well... so double win! |
Now that we return a proper materialized list from the batches, it would also be possible to switch for example the DiagnosticExtensions away from using IEnumerable to clearly indicate there will be no multiple enumeration problem. Should I do that too? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks, @danielmarbach! I'll let Josh have the final word.
sdk/servicebus/Azure.Messaging.ServiceBus/src/Primitives/ServiceBusModelFactory.cs
Outdated
Show resolved
Hide resolved
I vote yes. I don't see us needing to loosen that guarantee. |
/azp run net - servicebus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
Green 🥳 🎉 |
Let me know about the other comments. Can push it here or do another PR. Fine for me either way |
Avoid additional array allocation when receiving
sdk/servicebus/Azure.Messaging.ServiceBus/src/Sender/ServiceBusSender.cs
Outdated
Show resolved
Hide resolved
…ugh it will be slower to enumerate
sdk/servicebus/Azure.Messaging.ServiceBus/src/Amqp/AmqpMessageConverter.cs
Show resolved
Hide resolved
b52eae8
to
2727715
Compare
/azp run net - servicebus - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
All SDK Contribution checklist:
This checklist is used to make sure that common guidelines for a pull request are followed.
Draft
mode if it is:General Guidelines and Best Practices
Testing Guidelines
SDK Generation Guidelines
*.csproj
andAssemblyInfo.cs
files have been updated with the new version of the SDK. Please double check nuget.org current release version.Additional management plane SDK specific contribution checklist:
Note: Only applies to
Microsoft.Azure.Management.[RP]
orAzure.ResourceManager.[RP]
Management plane SDK Troubleshooting
If this is very first SDK for a services and you are adding new service folders directly under /SDK, please add
new service
label and/or contact assigned reviewer.If the check fails at the
Verify Code Generation
step, please ensure:generate.ps1/cmd
to generate this PR instead of callingautorest
directly.Please pay attention to the @microsoft.csharp version output after running
generate.ps1
. If it is lower than current released version (2.3.82), please run it again as it should pull down the latest version.Note: We have recently updated the PSH module called by
generate.ps1
to emit additional data. This would help reduce/eliminate the Code Verification check error. Please run following command:Old outstanding PR cleanup
Please note:
If PRs (including draft) has been out for more than 60 days and there are no responses from our query or followups, they will be closed to maintain a concise list for our reviewers.