traffic: improve add_short_packet by avoiding dict.get
authorJoe Guo <joeg@catalyst.net.nz>
Thu, 10 May 2018 05:23:02 +0000 (17:23 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 14 May 2018 03:38:06 +0000 (05:38 +0200)
dict.get is slower than [].
Avoid get to improve performance.

(For 3989418 calls, total time decease from 9.395 to 8.573)

Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon May 14 05:38:06 CEST 2018 on sn-devel-144

python/samba/emulate/traffic.py

index 227477a5425c0fb6f89631cc56b59d42d7dbbf97..db0fcf7788bd542a69406013f222491dafba4eca 100644 (file)
@@ -811,9 +811,12 @@ class Conversation(object):
         src, dest = self.guess_client_server()
         if not client:
             src, dest = dest, src
-
-        desc = OP_DESCRIPTIONS.get((protocol, opcode), '')
-        ip_protocol = IP_PROTOCOLS.get(protocol, '06')
+        key = (protocol, opcode)
+        desc = OP_DESCRIPTIONS[key] if key in OP_DESCRIPTIONS else ''
+        if protocol in IP_PROTOCOLS:
+            ip_protocol = IP_PROTOCOLS[protocol]
+        else:
+            ip_protocol = '06'
         packet = Packet(timestamp - self.start_time, ip_protocol,
                         '', src, dest,
                         protocol, opcode, desc, extra)