Skip to content

Conversation

@dabele
Copy link
Member

@dabele dabele commented Jun 7, 2024

Changes and Information

Download boost libs from a URL instead of git repository, archive download is much faster. Removed the bootstrapping code. With this increased speed, a minimal boost version is not necessary and not worth the maintenance.

Results from CI: compile times (with ccache and boost URL download) are down to ~4 mins, before they were at 20+. Obviously depends on many ccache hits and misses there are.

Not using the URL from github (e.g. https://github.com/boostorg/boost/archive/refs/tags/boost-1.84.0.tar.gz) since those archives don't actually contain the source code. I think the archive generation is automated, but the boost repo requires more setup before it is complete (subrepos, bootstrapping).

Merge Request - Guideline Checklist

Please check our git workflow. Use the draft feature if the Pull Request is not yet ready to review.

Closes #992

Checks by code author

  • Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
  • New code adheres to coding guidelines
  • No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • Tests are added for new functionality and a local test run was successful (with and without OpenMP)
  • Appropriate documentation for new functionality has been added (Doxygen in the code and Markdown files if necessary)
  • Proper attention to licenses, especially no new third-party software with conflicting license has been added
  • (For ABM development) Checked benchmark results and ran and posted a local test above from before and after development to ensure performance is monitored.

Checks by code reviewer(s)

  • Corresponding issue(s) is/are linked and addressed
  • Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
  • Appropriate unit tests have been added, CI passes, code coverage and performance is acceptable (did not decrease)
  • No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • On merge, add 2-5 lines with the changes (main added features, changed items, or corrected bugs) to the merge-commit-message. This can be taken from the briefly-list-the-changes above (best case) or the separate commit messages (worst case).

@dabele dabele requested a review from reneSchm June 7, 2024 08:22
@dabele dabele changed the title download boost libs with URL instead of git repo 992 download boost libs with URL instead of git repo Jun 7, 2024
Copy link
Member

@reneSchm reneSchm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those new build times look great! We went from around 15 minutes down to about 3 for the linux builds in only two patches.

I have no objections, we can merge this once the CI passes.

@codecov
Copy link

codecov bot commented Jun 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.23%. Comparing base (2994f76) to head (bdde5c7).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1048   +/-   ##
=======================================
  Coverage   96.23%   96.23%           
=======================================
  Files         128      128           
  Lines       10852    10852           
=======================================
  Hits        10443    10443           
  Misses        409      409           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@reneSchm reneSchm merged commit 0c73489 into main Jun 13, 2024
@reneSchm reneSchm deleted the 992-faster-download-of-boost-libs-with-url branch June 13, 2024 08:28
@mknaranja
Copy link
Member

@reneSchm @dabele What's the time reduction for download itself?

@lenaploetzke just FYI :)

@dabele
Copy link
Member Author

dabele commented Jun 13, 2024

What's the time reduction for download itself?

archive download is a < 10 secs, git clone is 1-2 mins, rough estimate, I didn't measure exactly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide minimal boost version with limited functionality

4 participants