Conversation
zadjii-msft
left a comment
There was a problem hiding this comment.
I think we're all cool with this, thanks for splitting it up!
| ## What should be done to update this in the future? | ||
|
|
||
| 1. Download the version of boost you want from boost.org. | ||
| 2. Take the parts you want, but leave most of it behind since it's HUGE and will bloat the repo to take it all. At the time of this writing, we only use small_vector.hpp and its dependencies as a header-only library. |
There was a problem hiding this comment.
we only use small_vector.hpp and its dependencies
holy shit it's 449 files for one header?! Man boost is giving npm a run for it's money
There was a problem hiding this comment.
Yeah, boost is...big. The full boost zip, when unzipped, is over 600MB - so I tried to strip it down to a minimal set. It could probably be more minimal than this but it felt hard to go smaller than whole folders of headers.
There was a problem hiding this comment.
Sounds like boost needs C++20 modules real bad.
|
I don't understand the test failure in the pipeline - these files aren't even used in the build, so how is that possible? Is this a flakey test? It seems stable from previous pipeline results from what I glanced at - so I'm just confused. Is there a way to re-run the test that failed here, @miniksa / @DHowett ? |
|
Don't worry too much about the CI failures - we've been having a lot of troubles with our feature tests in CI lately. I've kicked the build again, but this really doesn't need a build. |
@Austin-Lamb - the tests are flaky lately. Usually the team re-triggers them in the backend. |
miniksa
left a comment
There was a problem hiding this comment.
K. So I really only reviewed the readme/notice/cgmanifest as the rest should just be a drop. Looks fine from that aspect. Thanks for breaking this out.
|
@msftbot, merge this after @DHowett signs off |
|
I hate that boost is so huge that they ship a SEPARATE TOOL that goes and parses their includes to emit a streamlined subset of the headers that you need. I hate boost with a fiery passion for its unending complexity. At the same time, I'm forced to concede that it is useful and necessary and every C++ project inevitably ships a dependency on it. Let's do this. |
|
Hello @DHowett! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
|
I hope this does not inflate binary size / startup time considerably |
|
@vadimkantorov this PR is in service of #8489, which has some stats to back it up. It’s worth a read if you’re concerned about this change being a net negative for performance. |
In my #8489 we want to use boost's small_vector type, but that PR is
kinda messy by adding boost and also making a meaningful change. So
here I'm splitting out the boost addition to its own PR so that one can
be more focused on the allocation improvement and consumption of boost.