测量 python 算法中的浮点运算数



我有一个在Python 2.7中实现的数据处理算法,我需要在嵌入式系统上移动它(让它成为微控制器或更高级的板(。要选择硬件,我必须知道执行了多少浮点运算以及总共使用了多少内存。

如何有效地确定这些?

要计算操作次数,您可以执行以下操作:

class N:
    ops = 0
    def __init__(self, x):
        self.x = x
    def __add__(self, rhs):
        N.ops += 1
        return N(self.x + rhs.x)
result = N(1) + N(2)
assert result.x == 3
assert N.ops == 1
并将所有浮点数

替换为 N(浮点数(。

有关内存使用情况,请参阅如何在 Python 中分析内存使用情况?