我的程序是阶乘函数的简单递归实现。它的执行速度是否与我计算机上的处理器数量有关?我的程序不是多线程的。
答案 0 :(得分:2)
不,它与处理器数量无关。由于您的程序不是多线程的,因此它只能在一个线程中运行,该线程一次只能在一个处理器上运行。
单个处理器的速度不会因计算机上存在其他处理器而增加,除了拥有更多处理器可能允许其他程序在其他核心上运行,从而允许您的程序使用它运行的单个处理器的一小部分。
正如Raymond Chen在评论中指出的那样,如果您的线程跨越CPU迁移,可能会出现一些复杂的缓存问题,occurs regularly。
当然,这些可能总体上是相对较小的影响 - 当然,除非程序是多线程的,否则您通常不能期望程序在具有更多处理器的计算机上运行得更快。