-
Notifications
You must be signed in to change notification settings - Fork 516
[2.1.1] Fix Json perf regression in Socket Transport #2578
Conversation
|
Yes |
|
Did you measure or should I? |
|
@natemcmaster Should I create a release/2.1.1 branch based off of release/2.1 for this? |
|
I built this branch locally and ran with and without this assembly in release on Linux. But it gets worse with this change at 261K vs 300K. We were almost at 320K before the regression. |
You can use a branch named |
| _numSchedulers = InlineSchedulerArray.Length; | ||
| _schedulers = InlineSchedulerArray; | ||
| } | ||
| else if (ioQueueCount > 0) |
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.
This disable the ioQueues on Linux. Is this intentional?
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.
It was intentional, but but given that this PR regressed perf even further, it's likely we'll run Socket IO completion callbacks "inline" on Linux (since IO completion already gets dispatched to the ThreadPool) and go back to scheduling pipe continuations to the IOQueues.
|
I verified the performance numbers and the fix reverted the regression. |
#2573
This PR is based on dev for now. Should we start preparing a patch branch?