Tôi đã tạo một tập hợp các trình diễn của máy chủ TCP tuy nhiên các ví dụ điển hình của tôi chậm hơn đáng kể. Tôi thực sự không thử nghiệm hiệu suất nhưng tại thời điểm này một cái gì đó đang làm cho phiên bản gevent 5 lần chậm hơn.gllent urllib là chậm
Tôi chắc chắn phải là cách tôi biên soạn gevent nhưng không thể giải quyết được vấn đề. Tôi đang sử dụng OSX báo sử dụng fink biên dịch python 2,6 và 2,7. Tôi đã thử cả gevent ổn định và gevent 1.0b1 và nó hoạt động giống nhau. Tiếng vang mất 5 giây để trả lời, trong đó các ví dụ khác lấy < 1 giây. Nếu tôi xóa cuộc gọi urllib thì vấn đề sẽ biến mất.
Tôi đặt tất cả các mã trong https://github.com/djay/geventechodemo
Để chạy các ví dụ tôi đang sử dụng zc.buildout như vậy để xây dựng
$ python2.7 bootstrap.py
$ bin/buildout
Để chạy các ví dụ 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
này sẽ mất 3-4 giây để trả lời trên hệ thống của tôi.
Tuy nhiên ví dụ ren
$ bin/py threadecho2.py
hoặc ví dụ xoắn
$ bin/py twistedecho2.py
là ít hơn 1s. Bất kỳ ý tưởng những gì tôi đang làm sai?
Nó có vẻ phụ thuộc vào mạng nội bộ của tôi. Tại nhà của tôi grepent urlib gọi là chậm so với bình thường urlib, nhưng tại văn phòng họ đều có cùng một tốc độ. Rất lạ. – djay