Python 2.7添加到dict太慢

时间:2018-05-01 14:09:31

标签: python-2.7 dictionary

我正在研究Python脚本。它从文件中获取有关订户流量的信息,并将其放入特殊结构中。它有效。但它的工作太慢了。我在PHP中编写了相同的算法,它运行得更快。我注意到Python花费了大量时间将数据放入dict中。 PHP脚本花费6秒来处理我的测试文件,但是Python脚本 - 12秒(从文件获取数据大约需要7秒,填充结构需要5秒)。 我的结构如下所示: struct [subscriberId] [protocolId] = octents

我使用跟随功能来填充它们:

def addBytesToStatStruct(struct, subscriberId, protocolId, octents):
  if subscriberId in struct:
    if protocolId in struct[subscriberId]:
      struct[subscriberId][protocolId] += octents
      return
      else:
        struct[subscriberId][protocolId] = octents
        return
  else:
    struct[subscriberId] = {protocolId : octents}

可能是我做错了什么?我想我的问题出现是因为在添加过程中发生了碰撞。据我所知,PHP使用链接,但Python使用开放寻址。你能给我一个提示,我怎样才能让Python dict更快?

0 个答案:

没有答案