【问题标题】:Profile git commands time配置 git 命令时间
【发布时间】:2012-09-28 19:29:36
【问题描述】:

最近,在自定义提示时,我尝试对一些 git 命令进行基准测试(但无济于事),以便找到最快的方法,例如获取 HEAD 分支名称。

现在,在添加对 Mercurial 的支持时,我注意到有一个 --profile 选项可以打印时间和 Mercurial 命令执行的低级操作。

你知道 git 的类似内容吗?如果没有,我应该在哪里申请?

平台是 MacOs X 10.8.2。

【问题讨论】:

  • 哦,对不起,忘了说。我使用的是 OS X 10.8.2(Mountain Lion)。

标签: macos git mercurial benchmarking osx-mountain-lion


【解决方案1】:

您使用的是什么平台?对于 Linux 或 Mac OS X,您始终可以使用time 命令。例如:

time git status

【讨论】:

  • OS X 10.8.2 (Mountain Lion),我已经编写了一个基准测试 shell 脚本($before 和 $after 变量持有 date %s%N),但我没有得到可靠的结果。似乎结果或某些东西被缓存了,因为在两次尝试相同的命令后我只得到相似的结果:例如bench git symbolic-ref --short 2>/dev/null。哦,感谢 Homebrew,我正在使用 GNU 日期工具。
  • @AndrésBotero 你真的不需要基准测试脚本,IMO。如果time 可以解决问题,请使用它。当然,“冷”运行仍然会比后续运行慢,因此为了获得有意义的结果,您可能应该从第二个开始测量。
  • 我看到示例得到 0.000,但我只得到 0.00,即使使用 GNU 时间也是如此。有什么我能做的吗?我现在不记得了,但我想这就是我用纳秒制作脚本的原因。
  • 看来 bash 和 zsh 内置时间命令是一个可靠的来源。我不妨(再次)使用它们来使用它们的内置命令。
  • @AndrésBotero 纳秒精度适用于像单个函数一样的细粒度分析。在 git 命令执行的情况下,它们会访问旋转磁盘或网络,并受到操作系统调度的影响,这可能会引入如此多的毫秒甚至秒级随机延迟,几乎使纳秒级精度分析变得毫无意义。
猜你喜欢
  • 2013-10-06
  • 2013-08-23
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2019-09-16
相关资源
最近更新 更多