关于在Linux上进行简单的非阻塞系统调用需要多少个时钟周期?
我期望与OS X有什么不同吗?
我想知道setsockopt
之类的调用,可能会用来提供可选提示以提高性能,但却有其固有的成本。
答案 0 :(得分:3)
这实际上取决于系统调用和硬件。
进行系统调用的开销不是很大! this给出不到一微秒(即一百个处理器时钟周期)。一些系统调用正在使用vdso(7)来减少开销。
但是,对于给定的系统调用,内核正在做一些工作。根据实际涉及的系统调用,这可能需要很长时间。
对于setsockopt(2),它应取决于您要设置的选项。
通常,Linux套接字实现非常好,大部分时间都花在实际网络上(即以太网等)。