gpt4 book ai didi

c++ - 如果我的进程在事件之间处于空闲状态,为什么延迟会更大?

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:56 25 4
gpt4 key购买 nike

我有一个进程在套接字上被阻止。当套接字中的输入变得可用时,进程会对输入进行解码,并且大多数时候除了更新内存结构之外什么也不做。输入会定期触发更复杂的分析,最终导致在另一个连接上发出传出消息。我想最小化后一种情况下的延迟,即最小化接收和发送之间的时间。我注意到,当有趣事件之间的时间间隔增加时,延迟数字会变差两倍。这可能归因于什么以及我该如何改进?我尝试为我的进程保留一个 CPU,但没有看到太大的改进。

最佳答案

您应该尝试将进程“nice”为负值。我不太了解 Linux 调度程序的细节,但正常的策略是当进程无法使用其切片时减少时间片(有时是一个量程),反之亦然。这称为多级反馈政策。在您的情况下,获得一堆快速处理的事件可能会给该过程带来非常短的时间片。当发生“重大”事件时,它必须通过多次上下文交换来达到更长的切片。将“nice”值设置得足够高可能会为其提供所需的任何时间片。

不幸的是,“负面友善”在大多数系统中都需要 super 用户权限。

关于c++ - 如果我的进程在事件之间处于空闲状态,为什么延迟会更大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19672603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com