c - 在什么情况下 libgit2 比 git 快?

标签 c git performance libgit2

我可以编写一个具有 git 命令功能子集的 Zsh 模块。动机是加速提示。我使用的示例提示:

    changed_files=()
    git diff --quiet 2> /dev/null || changed_files=(${(f)"$( git diff --name-only 2>/dev/null )"})

输入时速度不是很快linux 内核 repo 。我想知道 libgit2 是否可以对某些典型任务提供更多控制,并以这种或其他方式更快。<​​/p>

我猜可能性很小,因为 Git 存储库结构简单,所以 git 代码是它的一对一反射(reflect)。但谁知道呢?任何独特的 libgit2 性能特征都符合我的兴趣。

最佳答案

典型的场景是当您有多个链式 git 调用时,每个调用都必须打开一个 shell/进程。

但在 2017 年,大多数使用 libgit2 的工具都开始回到包装方法(包装 git 调用而不是依赖 libgit2):示例 Visual Studio 15 .

Git 本身继续定期发展并修复错误或引入新功能,它们并不总是存在于 libgit2 中(如 this example 中)。

在您的情况下,对于基本的链式 git 函数,调用 libgit2 的 C 程序可能更快,但您需要对其进行衡量。

关于c - 在什么情况下 libgit2 比 git 快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44340094/

相关文章:

git - 将 git 日志日期格式保存在 .gitconfig 中

Git重命名检测空文件

git - Git 如何查找特定文件中的特定更改

c++ - 这是否因为两次查找而不是一次查找而变慢?

c - SetPixel 随着时间的推移变慢

c - 文件到字符串数组(逐行)

jquery - header 过期?我如何实现它们以及它们是什么?

javascript - 页面上具有多个动画的 Web 浏览器绘制率

c - 我不明白 malloc 函数

java - Java 中的 TCP 客户端和 C 中的服务器