Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.17.0
-
None
Description
See https://github.com/kgiusti/dispatch/commit/c546f31af8a9638b6fba4ccca68edfa1adaf0498
Performance tests have shown a increase in throughput with this patch. The core thread will forward messages faster than the output thread can write them to proton. Testing has showed that when under load additional output work items are added to the output connection during the time it spends draining proactor events. This extra output poll will service those work items before returning control to proton to perform the I/O.
There probably is a cleaner way to implement this - including a way to make checking for the presence of output work cheaper....