C
程序在 Linux 上的 I/O 系统调用开销(大约)有多大,我的意思是运行情况有多糟糕,例如与大型缓冲区(在常规文件或网络套接字上)上的读/写
相比,许多小的读/写
操作?应用是强多线程的。
最佳答案
在大多数现代机器上,系统调用至少需要 1-2 微秒仅用于系统调用开销,如果它们正在执行任何可能阻塞或休眠的复杂操作,则需要更多时间。预计 IO 至少需要 20 微秒,最多为毫秒级。将此与从用户空间缓冲区读取字节的微小函数调用或宏进行比较,这可能会在纳秒内完成(糟糕的一天可能需要 200 纳秒)。
关于c++ - 系统调用开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8247331/