在Linux内核中支持浮点运算的开销

时间:2011-06-18 16:44:58

标签: linux

众所周知,基于Linux / BSD的内核不支持浮点(FP)算法。在内核中处理FP寄存器的开销是多少?

1 个答案:

答案 0 :(得分:6)

通常的答案是,如果内核不使用浮点数,则不必在进入内核时保存浮点寄存器或在退出时恢复它们。这比所有系统调用的成本减少了几百个周期。

我不知道是否有人试图将这种节省与可能可用的性能改进进行比较,如果内核可以不加区分地使用这些寄存器。请注意,如果您采取适当的谨慎,可以在内核中使用它们,并且这可以在可获得巨大速度优势的情况下完成,例如:使用SSE指令加速memcpy等。 (在Linux源代码中查找对kernel_fpu_begin的调用。)