Return-Path: X-Original-To: apmail-mesos-dev-archive@www.apache.org Delivered-To: apmail-mesos-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2125B17AE4 for ; Fri, 27 Mar 2015 00:40:51 +0000 (UTC) Received: (qmail 66077 invoked by uid 500); 27 Mar 2015 00:40:50 -0000 Delivered-To: apmail-mesos-dev-archive@mesos.apache.org Received: (qmail 66017 invoked by uid 500); 27 Mar 2015 00:40:50 -0000 Mailing-List: contact dev-help@mesos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@mesos.apache.org Delivered-To: mailing list dev@mesos.apache.org Received: (qmail 66003 invoked by uid 99); 27 Mar 2015 00:40:50 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Mar 2015 00:40:50 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id C42451D5504; Fri, 27 Mar 2015 00:40:49 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============3139371465728673393==" MIME-Version: 1.0 Subject: Re: Review Request 32558: Improve compile time of mesos by splitting flags From: "Michael Park" To: "Joris Van Remoortere" , "Michael Park" Cc: "Cody Maloney" , "mesos" Date: Fri, 27 Mar 2015 00:40:49 -0000 Message-ID: <20150327004049.1505.11665@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org/ Auto-Submitted: auto-generated Sender: "Michael Park" X-ReviewGroup: mesos X-ReviewRequest-URL: https://reviews.apache.org/r/32558/ X-Sender: "Michael Park" References: <20150327003800.15432.73106@reviews.apache.org> In-Reply-To: <20150327003800.15432.73106@reviews.apache.org> Reply-To: "Michael Park" X-ReviewRequest-Repository: mesos --===============3139371465728673393== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32558/#review77994 ----------------------------------------------------------- +1, but I haven't checked style in the resulting `cpp` files. - Michael Park On March 27, 2015, 12:37 a.m., Cody Maloney wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/32558/ > ----------------------------------------------------------- > > (Updated March 27, 2015, 12:37 a.m.) > > > Review request for mesos, Joris Van Remoortere and Michael Park. > > > Bugs: MESOS-292 > https://issues.apache.org/jira/browse/MESOS-292 > > > Repository: mesos > > > Description > ------- > > Split the mesos master, slave flags into header + source file to > improve compile time significantly. Should be no functional changes. > > Largely copy-paste, with a little reworking to remove unnecessary > headers from the .hpp, and order headers a little more reliably > (as well as remove duplicate includes) in the .cpp. > > # Impact of these changes > `time make check -j8` > Before: > make check 2732.93s user 103.89s system 514% cpu 9:11.63 total > > After: > make check 2421.18s user 96.60s system 506% cpu 8:16.67 total > > 4 core machine, 8 hypter threads enabled. SSD, 16 GB RAM, > Intel i7-4790K. > > The numbers aren't incredibly stable (Other software running, > overclocking enabled, etc). They are a good general measure though of > speedup. > > I do a `make check` rather than just `make` because that is what devs > do in a day-to-day flow, and if runtime is significantly impacted, it > will show up. > > Test steps: > ``` > # Warm cache > ../configure --disable-python --disable-java > make check > # Timed build > rm -rf * > ../configure --disable-python --disable-java > time make check > ``` > > Note: Similar, likely greater improvements in compile time would happen > if stout were made to not be header only. Specifically . > > > Diffs > ----- > > src/Makefile.am 7a06c7028eca8164b1f5fdea6a7ecd37ee6826bb > src/logging/flags.hpp 4facb33201cee5a82451a13ca05607c875574752 > src/logging/flags.cpp PRE-CREATION > src/master/flags.hpp 85ce3285731c11b464aca6eaaa0a9165c73afebd > src/master/flags.cpp PRE-CREATION > src/slave/flags.hpp 3da71afad38ae41adefab979dbed2ae0b10a98ef > src/slave/flags.cpp PRE-CREATION > > Diff: https://reviews.apache.org/r/32558/diff/ > > > Testing > ------- > > make check on ArchLinux with GCC 4.9.2 > make distcheck CentOS 7 > > > Thanks, > > Cody Maloney > > --===============3139371465728673393==--