SVN: ZODB/trunk/src/ZEO/zrpc/smac.py Inlining a common case gives another 1% improvement in load CPU. Not
Jim Fulton <[email protected]> Tue, 5 Apr 2011 18:09:02 -0400 (EDT)
| Newsgroups | gmane.comp.python.zope.zodb.cvs |
|---|---|
| Message-ID | <20110405220902.3B0BA709F33__31511.9928367951$1302041350$gmane$org@cvs.zope.org> |
Log message for revision 121290:
Inlining a common case gives another 1% improvement in load CPU. Not
much, but I'll take it. :)
Changed:
U ZODB/trunk/src/ZEO/zrpc/smac.py
-=-
Modified: ZODB/trunk/src/ZEO/zrpc/smac.py
===================================================================
--- ZODB/trunk/src/ZEO/zrpc/smac.py 2011-04-05 20:57:16 UTC (rev 121289)
+++ ZODB/trunk/src/ZEO/zrpc/smac.py 2011-04-05 22:09:01 UTC (rev 121290)
@@ -266,7 +266,15 @@
while (size <= SEND_SIZE) and messages:
message = messages[0]
if message.__class__ is str:
- size += self.__message_output(messages.pop(0), output)
+ if self.__hmac_send:
+ size += self.__message_output(messages.pop(0), output)
+ else:
+ # inline common case
+ lmessage = len(message)
+ output.append(struct.pack(">I", lmessage))
+ output.append(messages.pop())
+ size += 4 + lmessage
+
elif message is _close_marker:
del messages[:]
del output[:]