python 读书笔记(1)

    公理:从内存中获取一个命名对象需要的时间是一个常数 Tfetch,给一个对象捆绑一个新的名字,并存储到内存中需要的时间也是一个常数 Tstore

    例:y=x的运行时间就是Tfetch+Tstore,即获取名字为x的对象所需要的时间就是Tfetch,然后将名字y与这个对象连接并存储到内存的时间是Tstore。

公理:基本的算数运算,如加法、减法、乘法、除法和比较,所需要的时间都是常数。它们所需要的时间各自用 T+, T-, Yx, T÷,和 T<来表示。

例:y=y+1的运行时间2Tfetch + T+ + Tstore.这是因为,在这个过程中,我们需要分别获取命名为y和1的对象,将他们求和并创建一个新的值为该和的对象,然后将命名y和这个对象连接并存储到内存中。

公理:调用(call)方法(method)所需要的时间是一个常数 Tcall,方法返回需要的时间也是一个常数 Treturn。

公理:将参数传递给方法所需要的时间和绑定对象名需要的时间一致,为 Tstore。

例:y=f(x),运行时间为 Tfetch + 2Tstore + Tcall + Tf(x).Tf(x)为函数f输入为x的运行时间,两次存储:一次是函数中实参的值传递给形参;一次是y的赋值。

公理:计算数组下标的地址所需要的时间是一个常数 T[、],不包括下标计算的时间也不包括访问数组元素的时间。

例:y=a[i],运行时间为3Tfetch + T[、]+ Tstore 。3个取操作数的操作分别是:获取数组a;获取下标索引i;获取数组元素a[i]。

        公理:创建一个新的类实例对象所需要的时间是一个常数 Tnew,其中不包含初始化对象所需要的时间。

    例:i=IntType(0),运行时间为Tfetch + Tnew + 2Tstore + Tcall+T(init)。 T(init)

为类的初始化方法的时间。






你可能感兴趣的:(python 读书笔记(1))