This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author martin_kirch
Recipients martin_kirch
Date 2022-02-13.20:17:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1644783460.72.0.175033327075.issue46740@roundup.psfhosted.org>
In-reply-to
Content
While using `telnetlib` I sometimes received unusually "large" messages (around 1Mb) from another process on the same machine, and was surprised `read_until` took more than a second. After instrumenting I discovered such messages were received at roughly 500kbyte/s.

I think this low throughput comes from two implementation details:

 - `Telnet.fill_rawq` is calling `self.sock.recv(50)`, whereas 4096 is now recommended
 - the `Telnet.process_rawq` method is transferring from raw queue to cooked queue by appending byte per byte.

For the latter, transferring by slices looks much faster (I'm measuring at least 5x). I'm preparing a PR.
History
Date User Action Args
2022-02-13 20:17:40martin_kirchsetrecipients: + martin_kirch
2022-02-13 20:17:40martin_kirchsetmessageid: <1644783460.72.0.175033327075.issue46740@roundup.psfhosted.org>
2022-02-13 20:17:40martin_kirchlinkissue46740 messages
2022-02-13 20:17:40martin_kirchcreate