高性能 Python —— vectorization

来源:互联网 发布:古墓丽影崛起 for mac 编辑:程序博客网 时间:2024/06/17 20:38

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

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

0 0
原创粉丝点击