Synchronization 带有-x选项的performance p4性能

Synchronization 带有-x选项的performance p4性能,synchronization,perforce,Synchronization,Perforce,我使用了p4-x file.txt选项来同步很多文件。 我注意到演出受到了影响 file.txt中的文件大约有500k行 我比较了这两个命令:- p4 -x file.txt sync p4 sync ... 从我注意到的情况来看,-x似乎要慢得多,但我不确定这是真的,还是我的网络/其他东西造成了这种差异 如果有人能分享,我将不胜感激 关于-x选项性能的一些见解 如果速度确实较慢,那么有没有其他方法可以让速度更快呢 提前感谢。两者的区别在于,使用-x,文件参数将分别传递。这完全等同于运行p

我使用了
p4-x file.txt
选项来同步很多文件。 我注意到演出受到了影响

file.txt中的文件大约有500k行

我比较了这两个命令:-

p4 -x file.txt sync
p4 sync ...
从我注意到的情况来看,
-x
似乎要慢得多,但我不确定这是真的,还是我的网络/其他东西造成了这种差异

如果有人能分享,我将不胜感激

  • 关于
    -x
    选项性能的一些见解
  • 如果速度确实较慢,那么有没有其他方法可以让速度更快呢

提前感谢。

两者的区别在于,使用
-x
,文件参数将分别传递。这完全等同于运行
p4 sync file1 file2 file3。。。在命令行中输入file500000
。(注意:从技术上讲,它们被进一步分解为大约200个IIRC的批,因此实际上更像是运行2500个单独的同步命令,每个命令有200个参数。)

如果将
-Ztrack
全局选项添加到命令中,您将获得许多性能跟踪输出,这有助于解释这一点,但其不足之处在于,通过
p4 sync…
服务器能够从数据库中执行非常高效的批读取,以利用数据位置的方式获取所有文件。在磁盘访问方面,它可以进行一次搜索,然后进行一系列大的顺序读取。使用类似于
p4 sync file1 file2 file3的命令。。。file500000
,每个文件一次处理一个,作为单个查找和单个记录的读取,这使得磁盘访问模式变慢(仍然存在数据局部性,但数据库不再能够将读取优化到相同的程度)

使用多参数语法时,访问检查还需要单独应用于每个文件,而使用通配符模式时,服务器可以一次检查整个模式,以确定您是否可以访问该路径下的所有文件。(这对于I/O来说不是什么问题,但可能会增加一点计算时间。)


它的缺点是,在某种程度上,您可以将事物表示为简单的模式,这总是比枚举单个文件更快。从XY问题退一步,如何同步该本地文件中的所有文件路径——该路径列表最初是如何生成的?也许可以直接从等式中删除文件——也许它应该是一个标签而不是一个本地文件?也许它甚至可以是一个“自动”标签?

像往常一样,非常感谢您的富有洞察力的回复。你所有的回复都很有帮助!非常感谢。