Improve build times
Low priority, but some thoughts:
- The painful way: comb through the source code and maybe rethink how to organize compilation units
- The less painful way: switch from CMake to something like Bazel or Buck at the expense of a bit more devops hassle (e.g., run a Buck daemon)
I think the less painful way might make more sense because both can include vendored projects that use CMake (not an issue because typically we don't change those) and can generate CMake files for those who don't want to deal with a more complex build system
I was not familiar with Bazel and Buck. Online discussion doesn't convince me there's clean ways to include vendor projects that use CMake, but I'm happy to be proven wrong.
We recently did make some changes to avoid fetching/building libraries that were already installed by a package manager (apt-get, brew, etc). That leaves us with just a couple. Nonetheless, OS X builds are still too slow for Travis in many.
And it's an unhappy fact that including range-v3 makes every fluent program slow to build.
Oh, I see. I was thinking from the perspective of a developer doing incremental builds (take advantage of objects cached in memory). I'm not sure if it's the right answer for Travis / fresh build. In fact, I think Google and Facebook (respectively) maintain "warm" build servers for their CI.
The CMake integration works, but not painlessly enough that I'd raise my hand to tackle before other stuff. So I'll sheepishly gesture at the "low priority" and step away slowly...
Yeah, I think that's the right prioritization for now.
On Sun, Aug 13, 2017 at 11:45 PM, Daniel Suo [email protected] wrote:
Oh, I see. I was thinking from the perspective of a developer doing incremental builds (take advantage of objects cached in memory). I'm not sure if it's the right answer for Travis / fresh build. In fact, I think Google and Facebook (respectively) maintain "warm" build servers for their CI.
The CMake integration works, but not painlessly enough that I'd raise my hand to tackle before other stuff. So I'll sheepishly gesture at the "low priority" and step away slowly...
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ucbrise/fluent/issues/118#issuecomment-322111835, or mute the thread https://github.com/notifications/unsubscribe-auth/AAXeQbahlov9Smsg0iaar5fMYgFEYy_8ks5sX-0CgaJpZM4O17mx .