相比较函数调用时的不到1ns的耗时,系统调用确实开销蛮大的。虽然使用了“快速系统调用”指令,但耗时仍大约在200ns+,多的可能到十几us。
每个系统调用内核要进行许多工作,大约需要执行1000条左右的CPU指令,所以确实应该尽量减少系统调用。
但是即使是10us,仍然是1ms的百分之一,所以还没到了谈系统调用色变的程度,能理性认识到它的开销既可。
参考文章
一次系统调用开销到底有多大?
https://www.zhihu.com/question/400440365
https://zhuanlan.zhihu.com/p/80206565