小编Pie*_*ens的帖子

为什么Windows7上的TCP/IP需要500个预热才能进行预热?(w10,w8证明不会受到影响)

我们看到ZeroMQ上有一个奇怪且无法解释的现象,Windows 7通过TCP发送消息.(或者inproc,因为ZeroMQ在Windows内部使用TCP进行信令).

这种现象是前500条消息越来越慢,延迟越来越慢.然后,除了由CPU /网络争用引起的峰值之外,延迟下降和消息一直快速到达.

这里描述了这个问题:https://github.com/zeromq/libzmq/issues/1608

它始终是500条消息.如果我们发送没有延迟,那么消息被批处理,所以我们看到这个现象延伸了几千个发送.如果我们在发送之间延迟,我们会更清楚地看到图表.即使在发送之间延迟多达50-100毫秒也不会改变事情.

邮件大小也无关紧要.我已经测试了10字节消息和10K消息,结果相同.

最大延迟始终为2毫秒(2,000 usec).

在Linux机器上,我们没有看到这种现象.

我们想要做的是消除这个初始曲线,因此消息与正常的低延迟(大约20-100 usec)保持新的连接.


更新:该问题不会在Windows 10和8上显示.它似乎发生在Windows 7上.

tcp winsock distributed-computing zeromq low-latency

9
推荐指数
1
解决办法
533
查看次数

如何从函数返回一个整数

哪个被认为是更好的风格?

int set_int (int *source) {
   *source = 5;
   return 0;
}

int main(){
   int x;
   set_int (&x);
}
Run Code Online (Sandbox Code Playgroud)

要么

int *set_int (void) {
    int *temp = NULL;
    temp = malloc(sizeof (int));
    *temp = 5;
    return temp;
}

int main (void) {
    int *x = set_int ();
}
Run Code Online (Sandbox Code Playgroud)

为了获得更高级别的编程背景,我得说我更喜欢第二个版本.任何提示都会非常有帮助.还在学习C.

c

1
推荐指数
1
解决办法
546
查看次数

标签 统计

c ×1

distributed-computing ×1

low-latency ×1

tcp ×1

winsock ×1

zeromq ×1