現在、MACアドレスを含む文字列を比較する必要があります(例:Python 2.7を使用した「11:22:33:AA:BB:CC」。現在、MACアドレスを含む事前構成済みのセットがあり、スクリプトが繰り返されますセットを介して、新しい各MACアドレスをリスト内のアドレスと比較します。これはうまく機能しますが、セットが大きくなるにつれて、スクリプトの速度が大幅に低下します。わずか100程度で、大きな違いに気付くことができます。
このプロセスをスピードアップするためのアドバイスはありますか?それらをセットで保存するのが比較するのに最適な方法ですか、それともたとえばCSV / DBに保存する方が良いですか?
コードのサンプル...
def Detect(p):
stamgmtstypes = (0,2,4)
if p.haslayer(Dot11):
if p.type == 0 and p.subtype in stamgmtstypes:
if p.addr2 not in observedclients:
# This is the set with location_mutex:
detection = p.addr2 + "\t" + str(datetime.now())
print type(p.addr2)
print detection, last_location
observedclients.append(p.addr2)