Ich habe eine Reihe von Demos eines TCP-Servers erstellt, aber meine gevent Beispiele sind deutlich langsamer. Ich teste wirklich keine Leistung, aber im Moment macht etwas die gevent-Version 5 mal langsamer.gevent urllib ist langsam
Ich bin sicher, muss sein, wie ich gevent kompiliert, aber kann das Problem nicht lösen. Ich benutze OSX Leopard mit Fink kompilierten Python 2.6 und 2.7. Ich habe sowohl das stabile gevent und gevent 1.0b1 ausprobiert und es verhält sich genauso. Das Echo dauert 5 Sekunden, um zu antworten, wobei die anderen Beispiele < 1sec dauern. Wenn ich den Urllib-Aufruf entferne, verschwindet das Problem.
Ich habe alle den Code in https://github.com/djay/geventechodemo
die Beispiele auszuführen Ich verwende zc.buildout so
$ python2.7 bootstrap.py
$ bin/buildout
zu bauen, um GEVENT Beispiel auszuführen:
$ 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
Diese dauert 3-4 Sekunden, um auf meinem System zu antworten.
jedoch das Gewinde Beispiel
$ bin/py threadecho2.py
oder das verdrillte Beispiel
$ bin/py twistedecho2.py
weniger als 1 s. Irgendeine Idee, was ich falsch mache?
es auf meinem lokalen Netzwerk abzuhängen. Bei mir zuhause ist gevent urlib Call langsam im Vergleich zur normalen urlib, aber im Büro sind beide gleich schnell. Sehr eigenartig. – djay