Testing on my server shows that comparing sync recv with async arecv, performance is very different.
msg = sub0.recv()
The minimum time gap between two messages is 2us
when I change the code to
msg = await sub0.arecv()
The minimum time gap between two messages is 35us
I've tried both asyncio and trio. Is there any way to improve the async client performance?
Too many sync clients cause significant context switches, but the message speed in async client seems slow.
Testing on my server shows that comparing sync recv with async arecv, performance is very different.
msg = sub0.recv() The minimum time gap between two messages is 2us
when I change the code to msg = await sub0.arecv() The minimum time gap between two messages is 35us
I've tried both asyncio and trio. Is there any way to improve the async client performance? Too many sync clients cause significant context switches, but the message speed in async client seems slow.