[ https://issues.apache.org/jira/browse/MESOS-1582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15828645#comment-15828645 ]
Alex Clemmer commented on MESOS-1582: ------------------------------------- I'd like to try to resurrect this issue and see what the appetite is for addressing it. To my estimation, this build times issue is pretty close to being unbearable on Windows, where we don't really have (free) tools like `ccache` to help us address even the symptoms of the problem. I have worked with 100k+ LOC projects that compiled in < 30seconds, and based on this experience, I can say that I expect that successfully driving down build times would greatly improve the dev efficiency of the people working on these code paths. Obviously, we'd also expect such an improvement to also improve the dev efficiency of the project as a whole. The question, I think is: at what cost? I spent some time looking at where the build is getting hung up, and I think this work would be split up largely into two big tasks: 1. Driving down the cost of compiling individual object files. Others have pointed this out, and my benchmarking indicates that this is true, particularly around test files. It's not clear how much mileage there is to get out of this, we will have to use an include-what-you-use tool to see how bad this is. 2. Driving down the cost of end-to-end builds. This is largely a problem of dependency structure. There is the obvious case of Stout and Libprocess, which touch pretty much everything, and can trigger essentially a complete rebuild. But there is also the issue that the Agent codebase is largely monolithic; if it could be broken out and better-modularized, I suspect we could make real progress to avoiding substantial rebuilds of the Agent codebase. I suspect that an ideal solution to this problem will trigger quite a lot of changes to the Agent codebase, and might even include turning Stout into a .cpp based (rather than header-only) library. So before we get too far down the rabbit hole, I want to make sure that people (1) agree this is worth doing, and (2) are ok with the potential changes that will go into this. > Improve build time. > ------------------- > > Key: MESOS-1582 > URL: https://issues.apache.org/jira/browse/MESOS-1582 > Project: Mesos > Issue Type: Epic > Components: build > Reporter: Benjamin Hindman > Labels: microsoft > > The build takes a ridiculously long time unless you have a large, parallel > machine. This is a combination of many factors, all of which we'd like to > discuss and track here. > I'd also love to actually track build times so we can get an appreciation of > the improvements. Please leave a comment below with your build times! -- This message was sent by Atlassian JIRA (v6.3.4#6332)