[tor-commits] [stem/master] Minor revisions for python3 performance improvement

atagar at torproject.org atagar at torproject.org
Sat May 23 19:08:16 UTC 2015


commit 2e273a2508b4fd82bce153dde14de476f8750b7b
Author: Damian Johnson <atagar at torproject.org>
Date:   Sat May 23 12:03:29 2015 -0700

    Minor revisions for python3 performance improvement
    
    Just a changelog entry, comment updage, and renaming a variable so it doesn't
    shift it's type (it was fine as-is, just don't like to reuse variables for
    different types like that).
---
 docs/change_log.rst |    1 +
 stem/socket.py      |   13 ++++++-------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/change_log.rst b/docs/change_log.rst
index a502dba..edc60ea 100644
--- a/docs/change_log.rst
+++ b/docs/change_log.rst
@@ -44,6 +44,7 @@ The following are only available within Stem's `git repository
 
  * **Controller**
 
+  * Dramatic, `300x performance improvement <https://github.com/DonnchaC/stem/pull/1>`_ for reading from the control port with python 3
   * :func:`~stem.connection.connect` and :func:`~stem.control.Controller.from_port` now connect to both port 9051 (relay's default) and 9151 (Tor Browser's default) (:trac:`16075`)
   * Added `support for NETWORK_LIVENESS events <api/response.html#stem.response.events.NetworkLivenessEvent>`_ (:spec:`44aac63`)
 
diff --git a/stem/socket.py b/stem/socket.py
index 637270f..b2b960f 100644
--- a/stem/socket.py
+++ b/stem/socket.py
@@ -587,11 +587,11 @@ def recv_message(control_file):
       # end of the message, return the message
       parsed_content.append((status_code, divider, content))
 
-      raw_content = b''.join(raw_content)
-      log_message = raw_content.replace(b'\r\n', b'\n').rstrip()
+      raw_content_str = b''.join(raw_content)
+      log_message = raw_content_str.replace(b'\r\n', b'\n').rstrip()
       log.trace('Received from tor:\n' + stem.util.str_tools._to_unicode(log_message))
 
-      return stem.response.ControlMessage(parsed_content, raw_content)
+      return stem.response.ControlMessage(parsed_content, raw_content_str)
     elif divider == '+':
       # data entry, all of the following lines belong to the content until we
       # get a line with just a period
@@ -621,12 +621,11 @@ def recv_message(control_file):
         if line.startswith(b'..'):
           line = line[1:]
 
-        # appends to previous content, using a newline rather than CRLF
-        # separator (more conventional for multi-line string content outside
-        # the windows world)
-
         content_lines.append(line)
 
+      # joins the content using a newline rather than CRLF separator (more
+      # conventional for multi-line string content outside the windows world)
+
       parsed_content.append((status_code, divider, b'\n'.join(content_lines)))
     else:
       # this should never be reached due to the prefix regex, but might as well



More information about the tor-commits mailing list