URL: <http://savannah.nongnu.org/bugs/?48589>
Summary: client and server don't set TCP_NODELAY, resulting in high latency of CVS commands Project: Concurrent Versions System Submitted by: None Submitted on: Thu 21 Jul 2016 10:17:10 PM UTC Category: Bug Fix (patch attached) Severity: 3 - Normal Item Group: None Status: None Privacy: Public Assigned to: None Open/Closed: Open Release: Discussion Lock: Any Fixed Release: None Fixed Feature Release: None _______________________________________________________ Details: Hi, I just noticed that the latency for simple CVS commands when contacting a remote server is quite high, for example on a repository with only one file, where the server is on the local machine but accessed through a pserver: $ echo $CVSROOT :pserver:cf@localhost:/tmp/cvsroot $ time cvs log bar cvs log: Logging bar real 0m0.095s user 0m0.004s sys 0m0.000s The problem is that neither the client nor the server set TCP_NODELAY on the socket, and given the CVS protocol, this can result in high latency (see https://en.wikipedia.org/wiki/Nagle%27s_algorithm#Interactions_with_real-time_systems). The attached patch sets TCP_NODELAY both client and server-side, and results in much lower latency: cf@thinkpad:/tmp$ time ~/ccvs/src/cvs checkout bar cvs checkout: Updating bar real 0m0.020s user 0m0.008s sys 0m0.000s Cheers, _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Thu 21 Jul 2016 10:17:10 PM UTC Name: cvs_tcp_nodelay.diff Size: 3kB By: None <http://savannah.nongnu.org/bugs/download.php?file_id=37982> _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/bugs/?48589> _______________________________________________ Message sent via/by Savannah http://savannah.nongnu.org/ _______________________________________________ Bug-cvs mailing list Bug-cvs@nongnu.org https://lists.nongnu.org/mailman/listinfo/bug-cvs