首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第一次hg状态为慢

第一次hg状态为慢
EN

Stack Overflow用户
提问于 2010-08-24 23:58:48
回答 1查看 2.1K关注 0票数 3

有没有人知道为什么在windows客户端上第一次从命令行调用hg status时,它会很慢(3-10秒)(我假设在那之后它会被缓存)。

hg status是一个本地操作,它不应该花那么长时间,特别是在有空repos的情况下。

这既适用于具有多个更改的活动存储库,也适用于不包含文件的全新存储库。因此,回购的大小似乎不是影响性能的因素。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-25 11:21:54

当您运行hg status命令时,Mercurial必须扫描存储库中的几乎每个目录和文件,以便显示文件状态。Hg必须为每个托管文件执行至少一次昂贵的系统调用,以确定自上次Mercurial检查以来它是否发生了更改,这是不可避免的。

我相信,后续对hg st的调用速度更快的原因是,如果文件没有被修改,操作系统会保留所有最近访问的文件的缓存信息-avoiding磁盘访问。有时,文件本身甚至可能保留由操作系统映射的内存,或者完全缓存在HDD缓冲区中。

编辑:另外,如果您有一段时间没有调用hg,操作系统将需要从磁盘读取hg可执行文件及其依赖项,因为它们可能尚未缓存在RAM中。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3558427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档