我正在拼命寻找降低家用电脑上构建时间的廉价方法.我刚刚阅读了一篇关于在Windows XP上禁用文件的上次访问时间属性的文章,因此简单的读取不会将任何内容写回磁盘.
这也很简单.在DOS提示符下写:
fsutil behavior set disablelastaccess 1
有没有人在构建C++项目的环境中尝试过它?有什么缺点吗?
[编辑]有关此主题的更多信息.
从SetFileTime的文档:
"NTFS在上次访问后最多延迟一小时,将文件的上次访问时间更新延迟."
没有真正关闭这一点 - 原始文章是错误的,数据不是每次访问都写出来的.
编辑:
至于为什么这篇文章的作者声称加速了10倍,我认为他将加速归结为错误:他还禁用了8.3文件名生成.要为文件生成8.3文件名,NTFS必须依次生成每种可能性,然后查看它是否已经在使用中(没有参考;我确定Raymond已经谈过它但找不到链接).如果你的文件都共享相同的前六个字符,那么你会被这个问题所困扰,而且你应该把字符区分成前六个字符中的字符,这样它们就不会发生冲突.关闭短名称生成将阻止这一点.