svn ls -v 为何需要比普通 svn ls 长约 250 秒的时间?
我使用哪种传输似乎并不重要,即使使用 file://模式也没有区别。我也尝试启用 memcached,但也没有任何改进。
有趣的是,在顶级目录中,这个命令是最慢的,我走得越深,它就越快。目录中有多少项似乎并不重要。
我在客户端和服务器上使用 svn 版本 1.7.1。以及 FSFS 存储库格式。
时间安排在这里
svn ls -v svn://trac/koh/ 0.01s user 0.01s system 0% cpu 39.960 total
svn ls svn://trac/koh/ 0.00s user 0.02s system 6% cpu 0.243 total
最佳答案
有可能 svn ls
能够从工作目录本地使用信息,而 svn ls -v
必须返回服务器才能获取信息它需要。它还可能是要查询的信息量。 svn ls
只需要文件名,而 svn ls
还需要修订版本和最后作者。
但是,我没有发现时间长 250 倍:
$ time svn ls
real 0m0.514s
user 0m0.046s
sys 0m0.061s
$ time svn ls -v
real 0m0.530s
user 0m0.000s
sys 0m0.109s
这种情况是在所有客户端上发生还是仅在您所在的计算机上发生?这是 Windows 还是 Unix/Linux?您要列出的目录有多大?当您执行 svn ls 时,工作目录是否发生变化?或者,您是否一直使用 URL,因此它必须转到服务器?您是否注意到其他任何速度问题?
关于performance - SVN ls 命令 super 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12109921/