<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=gb2312"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:黑体;
        panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
        {font-family:黑体;
        panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"\@黑体";
        panose-1:2 1 6 9 6 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
/* Page Definitions */
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-CN link=blue vlink=purple style='text-justify-trim:punctuation'><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Hi experts,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>I wrote a TCP client program used twisted to receive lots of data from the server and decode them for analysis.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>But the efficiency is ugly.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I used<b><span style='color:red'> “profile” and “pstats” </span></b>to analysis and found <b><span style='color:red'>selectreactor.py</span></b> is time consuming.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>what is <b><span style='color:red'>selectreactor.py</span></b> used for?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>How can I improve that? <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Very thanks.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-] Tue Mar 13 17:46:10 2012&nbsp;&nbsp;&nbsp; astar_prof.txt<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-] <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9111 function calls (9070 primitive calls) in 119.166 CPU seconds<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-] <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp; Ordered by: internal time<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp; List reduced from 496 to 15 due to restriction &lt;15&gt;<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-] <o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp; ncalls&nbsp; tottime&nbsp; percall&nbsp; cumtime&nbsp; percall filename:lineno(function)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 171&nbsp; 119.092&nbsp;&nbsp;&nbsp; 0.696&nbsp; 119.094&nbsp;&nbsp;&nbsp; 0.696 :0(select)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 156&nbsp;&nbsp;&nbsp; 0.005&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.007&nbsp;&nbsp;&nbsp; 0.000 http.py:225(datetimeToLogString)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp; 0.005&nbsp;&nbsp;&nbsp; 0.001&nbsp;&nbsp;&nbsp; 0.007&nbsp;&nbsp;&nbsp; 0.002 protocol.py:131(dataReceived)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 171&nbsp;&nbsp;&nbsp; 0.004&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.029&nbsp;&nbsp;&nbsp; 0.000 base.py:718(runUntilCurrent)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 324&nbsp;&nbsp;&nbsp; 0.004&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.004&nbsp;&nbsp;&nbsp; 0.000 :0(append)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 160&nbsp;&nbsp;&nbsp; 0.004&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.004&nbsp;&nbsp;&nbsp; 0.000 :0(heappop)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><b><span lang=EN-US style='color:red'>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 171&nbsp;&nbsp;&nbsp; 0.004&nbsp;&nbsp;&nbsp; 0.000&nbsp; 119.114&nbsp;&nbsp;&nbsp; 0.697 selectreactor.py:93(doSelect)<o:p></o:p></span></b></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 164&nbsp;&nbsp;&nbsp; 0.003&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.003&nbsp;&nbsp;&nbsp; 0.000 :0(heappush)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 342&nbsp;&nbsp;&nbsp; 0.003&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.006&nbsp;&nbsp;&nbsp; 0.000 base.py:699(_insertNewDelayedCalls)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 342&nbsp;&nbsp;&nbsp; 0.003&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.003&nbsp;&nbsp;&nbsp; 0.000 :0(keys)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 358&nbsp;&nbsp;&nbsp; 0.002&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.002&nbsp;&nbsp;&nbsp; 0.000 :0(fileno)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 163&nbsp;&nbsp;&nbsp; 0.002&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.005&nbsp;&nbsp;&nbsp; 0.000 base.py:648(callLater)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;19/1&nbsp;&nbsp;&nbsp; 0.002&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.003&nbsp;&nbsp;&nbsp; 0.003 xml2dict.py:16(_parse_node)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 686&nbsp;&nbsp;&nbsp; 0.002&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.002&nbsp;&nbsp;&nbsp; 0.000 :0(time)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51&nbsp;&nbsp;&nbsp; 0.002&nbsp;&nbsp;&nbsp; 0.000&nbsp;&nbsp;&nbsp; 0.003&nbsp;&nbsp;&nbsp; 0.000 :0(encode)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US>2012-03-13 17:46:10+0800 [-]<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Best</span><span lang=EN-US style='font-size:10.0pt;font-family:宋体;color:black'><o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Regards,</span><span lang=EN-US style='font-size:10.0pt;font-family:宋体;color:black'><o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>&nbsp;</span><span lang=EN-US style='font-size:10.0pt;font-family:宋体;color:black'><o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Xiao Peng(</span><span style='font-size:10.0pt;font-family:黑体;color:#1F497D'>肖鹏</span><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>)</span><span lang=EN-US style='font-size:10.0pt;font-family:宋体;color:black'><o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Cisco Systems<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>GSP-Beijing (China)<o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Office: +86 10 8507 7181</span><span lang=EN-US style='font-size:10.0pt;font-family:宋体;color:black'><o:p></o:p></span></p><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Mobile: +86 18600560077(preferred)</span><span lang=EN-US style='font-size:10.0pt;font-family:宋体;color:black'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p></div></body></html>