[lldb-dev] MSBuild vs. Ninja build-timings on Windows

Rick Foos rfoos at codeaurora.org
Fri Jan 2 16:02:08 PST 2015



I don’t have any problem supporting Ninja. I do think that hardcoded sections should be minimized or eliminated if convenient.


It is possible with parameters to select MSBuild, make, nmake, Ninja within a unified CMake builder.


A unified cmake builder like this does not need to be changed when a new/better generator type becomes available, neither does it impose one on all buildslaves.


Windows support for any non-MS packages can have gaps. For example, Ninja: Windows CMake 3.0.0 no longer ships Ninja. The Ninja from github doesn’t compile with the latest GCC or support msbuild particularly well.  Easy enough to workaround, stay with 2.8.8, but workarounds must be done for most anything on Windows.


Personally I prefer Ninja. I’d just like to make the builder have options to select CMake Generators.


-rick foos


From: lldb-dev-bounces at cs.uiuc.edu [mailto:lldb-dev-bounces at cs.uiuc.edu] On Behalf Of Zachary Turner
Sent: Friday, January 02, 2015 5:32 PM
To: René J.V.
Cc: lldb-dev at cs.uiuc.edu; Nico Weber
Subject: Re: [lldb-dev] MSBuild vs. Ninja build-timings on Windows


+Nico Weber <mailto:thakis at google.com> ​ 

Nico might be able to give you some more insight on exactly why Ninja is faster than MSBuild.  My (limited) understanding is that it has better dependency tracking, but I'm not sure where the "betterness" comes from.  


I'm not sure how MSBuild compares to GNU Make.  I'm not sure if anyone actually uses Make to build LLDB on Windows or if it even works.  I know at some point, even if way off into the future, it would be nice to get rid of the configure/make build entirely.  The only reason it's still around is because it supports a few features not supported by the CMake build.  If / when those issues get resolved, I think the LLVM side will try to remove it, and then we should follow suit.


On Fri Jan 02 2015 at 3:23:05 PM René J.V. <rjvbertin at gmail.com <mailto:rjvbertin at gmail.com> > wrote:

On Friday January 02 2015 19:53:00 Zachary Turner wrote:


> Here are build timings on my local machine comparing Ninja against MSBuild
> on Windows.

That's for building lldb I presume? How does MSBuild compare to (GNU) make?

>                                              Ninja                MSBuild
> Clean Build                           0:11:4.16           0:14:4.33

That's a larger difference than I would have expected - it seems the time spent compiling is short compared to the time that could be spent tracking dependencies?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150102/c231f76c/attachment.html>

More information about the lldb-dev mailing list