加快大型项目的自动配置/配置

Posted

技术标签:

【中文标题】加快大型项目的自动配置/配置【英文标题】:speed up autoconf/configure of large project 【发布时间】:2011-07-13 19:11:26 【问题描述】:

我有一个大型 autoconf/automake 项目,使用 AC_CONFIG_SUBDIRS 分解为组件。有什么方法可以让 autoconf/configure 运行得更快?也许并行执行子目录,或者缓存可重用的结果?

我可以轻松编写一个构建脚本来并行构建组件,但不希望添加构建结构维护的次要点。

【问题讨论】:

【参考方案1】:

您可以使用configure cache feature 在多个configure(同一configure 或递归子configure 的多次运行)之间缓存结果。只需运行

./configure -C

但是,您应该记住在系统配置更改时删除缓存(例如在安装了之前配​​置运行未找到的新软件包之后)。如果您使用一些第三方宏,您可能还必须将其中一些正确地修复为cache their results(一个常见的错误是在测试期间做出一些配置决定,如果该测试的结果被缓存,则可能会被跳过)。

如果您想在多个项目之间共享缓存,您可以在config.site 中进行设置。

【讨论】:

几乎在所有方面都同意,但在config.site 中设置缓存变量让我觉得是个坏主意。 gentoo 几年前没有尝试过 confcache 吗? IIRC,他们不得不退出,因为它破坏了很多东西。【参考方案2】:

我正在考虑一个 parallel 配置,它可以并行执行检查,以充分利用主机的多核。可能 autoconf 应该生成 bash 脚本,该脚本可以被矢量化/流水线化以使其成为可能。

【讨论】:

以上是关于加快大型项目的自动配置/配置的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins+Maven+Git搭建持续集成和自动化部署的配置

express框架路由配置及congtroller自动加载

SpringBoot自动配置/装配(SPI)

在springboot中,如何读取配置文件中的属性

自动化运维管理工Ansible安装与配置

idea配置自动编译项目配置