首先来看一段判断一个整数数是否为素数的函数,然后从计算机内部计算流程的角度对其进行分析:
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中。
浙公网安备 33010602011771号