Performance 如何加速性能自动解析?

Performance 如何加速性能自动解析?,performance,perforce,resolve,Performance,Perforce,Resolve,我想知道在进行集成时如何加速Performce自动解析(如果不存在冲突,则合并您的和他们的) 当前,使用代理服务器运行约5000个文件需要数小时,即使代理服务器已预缓存文件 此外,p4v界面不会给您任何有关任务进度的提示,您不知道任务是否会在第二年或明年完成。我想您可以从命令行进行解析,这可能会让您知道任务仍在进行中,而且不会妨碍你在P4V中的其他工作。如果你事先知道这肯定是一个单向解决方案,也许你可以尝试强制接受“他们的”或“你的”版本。请参见命令行中的“p4帮助解析”,特别是“-at”和“-

我想知道在进行集成时如何加速Performce自动解析(如果不存在冲突,则合并您的和他们的)

当前,使用代理服务器运行约5000个文件需要数小时,即使代理服务器已预缓存文件


此外,p4v界面不会给您任何有关任务进度的提示,您不知道任务是否会在第二年或明年完成。

我想您可以从命令行进行解析,这可能会让您知道任务仍在进行中,而且不会妨碍你在P4V中的其他工作。

如果你事先知道这肯定是一个单向解决方案,也许你可以尝试强制接受“他们的”或“你的”版本。请参见命令行中的“p4帮助解析”,特别是“-at”和“-ay”选项


我不确定它是否真的会带来性能上的好处,但它很容易尝试(并进行一些基准测试)。

5000个文件对于一个中等功能的服务器来说并不是很多

你的文件是二进制文件吗?如果您的5000个文件是二进制文件,autoresolve将在本地硬盘上对它们进行校验和,以与服务器(而不是代理服务器,它只是将信息或文件转发给您)上的校验和进行比较,这会降低您的速度


如果您事先知道您正在尝试单向解析(在硬盘上吃您的或从服务器上吃他们的),则可以删除并跳过校验和操作。在命令行中,这将是分别带有“-ay”或“-at”选项的“p4 resolve”

您还可以联系Performce db管理员,让他们记录服务器操作。当您进行集成和解析时,可能正在运行一些操作,这些操作持有文件锁,导致您旋转并等待锁释放。请参阅“”的引用


例如,在我们的办公室,周一早上办公室里的每个人都会整合到他们的私人分支机构并解决问题。我在与地球另一端的代理一起工作时也遇到了类似的问题。我已经运行了一些实验,问题似乎不受文件大小或解决方法(接受他们的方法等)的影响,至少对于较小的文件是如此

我猜每个文件都会有一些往返成本,因为无论我是将命令分解为每个文件的单个解析命令、每个文件组的批处理命令,还是解析整个更改列表,总解析时间都是相当恒定的。在我的例子中,对于>10k的文件,每个文件的开销大约为1秒

我目前正在解决这个问题,方法是登录到一个与远程服务器位于同一位置的VM,然后从那里执行解决。然后可以从VM提交,然后正常同步。因为我需要在提交之前首先在本地运行测试,所以我将文件搁置在VM上,然后在本地计算机上取消搁置它们。这也不是很快,但似乎更好


因此,对于我来说,这不是解决问题的办法,而是一种可行的解决办法,可以节省数小时。

每次校验数GB的数据并不快。有没有办法让perforce只使用文件的修改时间?在99.999%的情况下,文件在不更改日期/时间的情况下不会被更改。Perforce没有一种简单的方法可以做到这一点。如果您不想检测更改,而只是使用文件修改时间来确定是否自动解决更改,则必须编写脚本或编写程序,以获取Performce数据库关于文件提交时间与硬盘上文件修改时间的概念。您的客户端工作区的modtime值也可以更改同步文件的modtime,因此,如果您这样做,请小心。“自动解析(无合并)”——最简单的算法,为什么这么慢?!我认为问题是Perforce在网络上做任何事情,所以它会按顺序发出5000个请求或其他愚蠢的事情。“而且p4v接口不会给你任何关于任务进度的提示,你不知道它是否会在第二年或明年完成。”胡说。我的合并对话框清楚地显示它已经100%完成了,并且已经在过去的一个小时内完成了。