我創建了一套TCP服務器的演示,但是我的gevent示例顯然比較慢。我真的沒有測試性能,但目前正在使gevent版本變慢5倍。gevent urllib很慢
我確定必須是我如何編譯gevent,但無法解決問題。我正在使用fink編譯的python 2.6和2.7使用OSX豹。我已經嘗試了穩定的gevent和gevent 1.0b1,它的行爲相同。回聲需要5秒鐘的時間來響應,其他示例需要1秒鐘的時間才能進入<。如果我刪除urllib電話,問題就會消失。
我把所有的代碼https://github.com/djay/geventechodemo
運行我使用zc.buildout的例子,讓建
$ python2.7 bootstrap.py
$ bin/buildout
要運行GEVENT例如:
$ bin/py geventecho3.py &
[1] 80790
waiting for connection...
$ telnet localhost 8080
Trying 127.0.0.1...
...connected from: ('127.0.0.1', 56588)
Connected to localhost.
Escape character is '^]'.
hello
echo: avast
這需要3-4秒才能在我的系統上響應。
然而螺紋示例
$ bin/py threadecho2.py
或扭曲的示例
$ bin/py twistedecho2.py
小於1秒。任何想法我做錯了什麼?
這似乎取決於我的本地網絡上工作。在我的家gevent urlib調用比正常的urlib慢,但在辦公室他們都是相同的速度。很奇怪。 – djay 2012-04-05 01:28:57