在Cython中迭代对象列表/集合的最快方法?

2024-09-30 14:31:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个神经网络库的代码

for connection in self.backwardConnections:
    self._z += connection.value()

其中connectioncdef class ConnectionbackwardConnections是连接的pythonlist。在

我有两个问题

  1. 在Python列表中迭代最快的是什么?(我也可以用典型的for int i in range (len (..))来完成)
  2. 如果我放弃python列表方法,那么什么样的集合类型(例如numpy数组、c++向量等)可以保存我的Connection对象并提高性能?在

Tags: 代码inself列表forvalue神经网络connection
1条回答
网友
1楼 · 发布于 2024-09-30 14:31:45

for ... in ...:构造是在Python中迭代列表的最快方法。切换到其他数据类型也不会显著提高性能。这两件事已经很快了。在

我猜你是在用错误的方式优化这段代码。与其研究循环机制(它可能只占运行时间的一小部分),不如考虑优化对.value()的调用所做的一切呢?在

还有一种可能是Python对于您正在尝试的操作来说太慢了。不过,我发现这样的情况非常罕见。在

相关问题 更多 >