首先来看一段判断一个整数数是否为素数的函数,然后从计算机内部计算流程的角度对其进行分析:

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中。