美国高防_防御ddos收费_零误杀

美国高防_防御ddos收费_零误杀

优化git的合并机制,Palantir Followmar 8·14分钟阅读

编者注:这是Palantir软件工程师关于优化git的合并和重命名检测机制的系列文章中的第一篇。点击阅读第二篇文章。

过去,我谈到了我在Git中重命名和深层目录层次结构的工作。我提到了我将在git中为合并机制和重命名检测功能实现的一些性能改进。在这篇文章和随后的文章中,我想谈谈这些改进,这些改进是为git[1]贡献新合并算法的一部分。在本系列博客文章中,我将描述我对git所做的优化,我在Git Merge 2020演讲中幽默地总结如下:

不要做不必要的工作不要重做工作不要重做不必要的工作福吉"不必要"

但我可以更准确地总结为:

找到检测重命名不会改变结果的路径,不要为这些路径检测重命名不要寻找比完美匹配更好的匹配不要重复检测上游分支在对一系列提交(尤其是不要重复检测一开始就不必要的提交)重定基址时所做的相同重命名找到有用的启发式方法来指导重命名检测,以避免(或至少减少)暴力穷举两两比较

自从我的Git Merge 2020演讲以来,我已经完成了实现,并且还对上述优化做了一些改进,并添加了两组新的优化:

树级合并(看起来与重命名检测极不兼容,但有些技巧通常可以使其正常工作)良好、老式的优化工作-测量性能,查找缓慢的代码路径,并分别修复它们

本系列的第一个博客激发了我们在Palantir如何使用git以及我们为什么关心这些优化,然后提供了理解这些优化所需的背景知识,最后给出了第一个超级简单的优化:不要寻找比完美匹配更好的匹配(这本身就是对现有优化的改进,通过检测基于文件哈希的重命名来加速git合并,而不是查看文件内容)。

合并算法只是关于git合并吗?

合并机制在git(称为merge recursive)增强了git的几个方面:

mergecherry PickerBearEvertam-3stashcheckout-m

所以我们谈论的不仅仅是git merge。

为什么git的合并算法需要工作?

简言之:

我们需要对大型代码库进行有效重构我们想要转向稀疏操作并想要改进它们的性能有效性现有代码处于设计的极限

大型代码库的高效重构

在Palantir,我们有一些大型ish Monorepo,大致相当于linux内核的大小。在这些存储库中,我们有时会进行深度重构,包括重命名高级目录。我们希望git能够高效地处理此类工作。如果cherry挑选一个补丁将其回传到某个较老的分支,由于限制或需要非常长的时间而无法工作,人们将求助于手工补丁,ddos有哪些防御手段,并冒着丢失重要部分的风险。我们曾经遇到过这样一个案例:一个团队损失了大量时间,由于在涉及大量重命名的重构之后很难备份补丁,他们的工作慢了几个月。这导致他们召开了一次会议,要求达成协议,不再重构代码;这是一种相当不理想的状态,如果有更好的合并功能本可以避免。

稀疏性

除了重构工作流之外,高防cdn3元一月,我们希望开发人员能够专注于他们感兴趣的领域,就好像他们有一个更小的存储库一样。在git稀疏签出存在之前,我们创建了允许稀疏签出的脚本(因为稀疏签出本身是基于SKIP_WORKTREE功能的,该功能在git中已经存在很长时间了,但没有易于访问的UI),然后回顾了由Microsoft提供的git sparse checkout修补程序,并为该功能提供了几个我们自己的修补程序。

该领域的继续工作包括创建稀疏索引(也是由Microsoft牵头),这不仅可以使工作树稀疏,但git的索引(或暂存区域)也很稀疏。由于索引在git中是一种普遍存在的数据结构,cc防御影响收录吗,因此这种更改需要在整个git代码库中进行重大更改。与大多数代码区域相比,现有的合并机制与索引的关联要复杂得多,而更改索引实际上是一次完全的重写。因此,稀疏索引工作将需要一种新的合并算法,这是我们的贡献。

与稀疏签出和稀疏索引的思想相联系的是部分克隆——只下载感兴趣路径的历史记录的能力。我一直对这个功能感兴趣,并且相信我是第一个发布一些补丁的人,这些补丁包含了稀疏克隆的基本实现。我从未完成该实现,但其他人最终创建了类似的功能。部分克隆将进行部分历史记录下载,然后在访问其他对象时延迟下载这些对象。当然,为了使部分克隆有用,它们需要避免以非优化的方式过于频繁地下载额外的对象,或者下载不必要的对象。遗憾的是,重命名检测可能需要下载过多的对象,尽管在某些情况下,其他方法有时可以在没有重命名检测的情况下解决问题,并避免下载过多的对象。因此,找到改进合并重命名检测的方法也是部分克隆性能的一个重要驱动因素。

设计限制

热门推荐
  • 服务器高防_海外高防服务器租用_快速接

      作者:克里斯·理查森和鲍勃·罗斯到了三角测量的时候了最近,出现了以下问题:"IPAM和核心网络服务如何与我在安全方面的......

    08-03    来源:长虹华伟

    分享
  • 国内高防cdn_免备案高防主机_解决方案

      创建一个网络安全程序,在其中你可以评估你的web应用程序和网站并不需要比建立一个漏洞管理程序更困难。易于使用的工具......

    12-14    来源:长虹华伟

    分享
  • cdn防御_海外高防云服务器租用_怎么办

      我们最近推出了Morphisec Guard,一个完整的端点保护平台,旨在保护您的企业免受最严重的网络攻击。Guard是一个单一的轻量级......

    01-20    来源:长虹华伟

    分享
  • 服务器防护_怎样防御ddos_指南

      4月19日,H安全——(国际)Mozilla blocklists Java on Old MacOS X系统。Mozilla阻止了运行在Mac OS X 10.5和-16版本的Firefox中的Java插件,......

    11-25    来源:长虹华伟

    分享
  • ddos怎么防_防御ddos云_优惠券

      我们刚刚开始意识到超高频的巨大潜力。。。…更长的读取范围、防冲突功能和快速的数据传输速度。这会很有趣。。。在相......

    08-24    来源:长虹华伟

    分享
  • 防御ddos_烈火神盾游戏_零元试用

      所以你在杀毒软件上投入了大量资金,但似乎仍然要对付最新的病毒、木马、勒索软件,直到你的AV提供商能够制定并下载解......

    10-10    来源:长虹华伟

    分享
  • 游戏盾_ddos防护服务器_无限

      概述在本文中,我们将解释如何使用Windows事件查看器检测Pass-The-Hash(PTH)攻击,并介绍一个新的开源工具来帮助检测。PTH是......

    10-27    来源:长虹华伟

    分享
  • ddos怎么防_免备案高防cdn国内节点_原理

      3.4攻击源行为分析在2018年H1网络安全洞察8中,我们提到了DDoS累犯(重复DDoS违规者)的数量太大,无法忽略。在所有的网络攻......

    01-18    来源:长虹华伟

    分享
  • ddos高防_ddos高防什么意思_超稳定

      停机的原因很多,但2018年一项针对1287名IT和安全专业人员的全球调查显示,备份和安全之间的联系越来越紧密。超过一半的......

    03-17    来源:长虹华伟

    分享
  • 香港高防服务器_浪琴高防手表价格图片

      本周我们研究了最近的internetexplorer补丁MS09-002的部署模式。我们的主要兴趣是看它的部署速度与以前的IE补丁相比是否有任何......

    11-20    来源:长虹华伟

    分享
返回列表
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。