首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在哪里存储PGO数据库文件?

我应该在哪里存储PGO数据库文件?
EN

Stack Overflow用户
提问于 2017-11-15 22:32:34
回答 2查看 70关注 0票数 1

我一直在研究如何在2013年VisualC++中使用轮廓引导优化。我很高兴使用不同的场景作为手动步骤来执行培训集,但是希望最后的优化构建和链接能够在我们的CI构建服务器上工作。

考虑到这一点,哪里是我最好的地方存储PGO配置文件数据库?将它们存储到版本控制中(在我们的例子中是Git)是最方便的地方,但我知道它们是按数十甚至几百兆字节的顺序排列的二进制文件,它们不一定存储在源代码控制系统中。

或者,是否有更好的解决方案或最佳实践来将PGO集成到我们的自动化构建中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-18 05:00:32

我们的解决方案是使用Git LFS存储PGO文件(也请参阅这个问题)。

这一办法的优点是:

  • PGO数据库与它们关联的代码版本一起存在于存储库中。
  • 数据库可完全和无缝地用于开发、构建和测试机器,而无需配置外部文件存储。
  • 大型二进制文件不会存储在普通的Git存储库中,因此不会使其膨胀或使合并变得乏味。

这种方法唯一轻微的复杂情况(并没有对我们产生重大影响)是,从开发工作站到CI服务器,所有的机器和软件都必须支持和安装Git。

票数 0
EN

Stack Overflow用户

发布于 2017-11-16 12:00:55

您在这里有多个选择,您可以在考虑权衡的情况下选择其中之一。

  • 您是将PGO用于整个代码库,还是用于某些热点或模块?多久刷新一次数据库。
  • 这是一个巨大的问题发布某物,与不适当的PGO数据库。
  • 你的项目有多大,在最坏的情况下它可能有多大?
  • 在这种最坏的情况下,将PGO数据库存储在源代码管理中是否可以接受。

通过你的答案,你可以创造一条通往你自己的道路。

如果您不经常刷新PGO数据库,如果二进制大小不会破坏您的项目,您可以将它们存储在版本控制中。

如果您为每个提交重新生成它们,则可以将它们放置一个单独的存储库,其中包括真正的代码基提交id(在此基础上创建提交PGO配置文件数据库)作为提交消息。

或者,如果您不经常生成它们,并且当您返回到特定的提交时,可以重新生成您可能无法存储的数据库,只需将它们放入CI构建机器即可。

或者你可以围绕这些观点再做一个组合:)

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

https://stackoverflow.com/questions/47318467

复制
相关文章

相似问题

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