我正在用C++编写一个低延迟程序,它从源接收数据,处理数据,然后通过TCP套接字发送到目标。我有一个单独的线程,所有这3个模块,接收器线程,处理器线程,发送器线程。所有这些线程都使用无锁队列进行通信。
您是否认为直接发送消息而不使用发送方部分的队列会带来较低的延迟?它会影响性能稳定性吗?
谢谢
发布于 2019-09-19 06:50:03
如果这三个线程被固定到不同的物理核心,那么拥有单独的发送器线程将比执行发送操作的处理器线程提供更低的延迟,特别是在发送过程中发生重试的情况下。即使是尽力而为的异步发送,您仍然可以节省写入套接字所需的边际时间。
https://stackoverflow.com/questions/57818042
复制相似问题