绕过dok_matrix.get类型检查

时间:2019-06-14 17:50:39

标签: python performance scipy sparse-matrix

程序的16%的运行时间花费在isintlike()的{​​{1}}函数内部。对scipy/sparse/sputils的所有调用均来自对isintlike()的调用(占运行时间的20%)。我知道我正在用dok_matrix.get()调用的索引是整数,所以我实际上不需要类型检查。

我尝试使用get()而不是x[coords]绕过它,但这实际上减慢了我的程序的速度。我猜想它在幕后打给x.get(coords),增加了开销。

我不打算减少打给get()的电话,因此这是目前的瓶颈。有什么办法可以绕过这种类型检查?

1 个答案:

答案 0 :(得分:0)

您可以绕过类型检查直接调用dict基类方法:

dict.get(dok_matrix, coords)