首先来看一段判断一个整数数是否为素数的函数,然后从计算机内部计算流程的角度对其进行分析:
import math
def check_prime(number):
sqrt_number = math.sqrt(number)
number_float = float(number)
for i in range(2, int(sqrt_number)+1):
if (number_float/i).is_integer():
return False
return True
当代码开始被调用时,参数 number
存储在 RAM
中。为了计算变量 sqrt_number
和 变量number_float
,我们需要将存储在 RAM
的值传递到 CPU
。理想状况下,我们期望仅传递该值一次,数据就会被存储在 CPU 的 L1/L2 cache中。