[cfe-dev] Clang on Windows targteing gcc compiles very slowly

Dennis Luehring dl.soluz at gmx.net
Sun May 31 00:34:39 PDT 2015


another example: 
https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus

compiles in a minute in VS2010 - take years with cl-clang, with 
compile-bug reports in cl-clang

so my "dirty" testbase for finding speed difference and bugs in cl-clang 
would be

-Xerces C++ 3.1.2 (SVN Tag)
-DosBox (latest SVN)
-RuntimeCompiledCPlusPlus (lastest Git)
-ScummVM (SVN)


Am 31.05.2015 um 09:06 schrieb Dennis Luehring:
> >Huh, that's surprising. Do you happen to
> >have VS2013 too? What are you
> >compiling? Anything open-source?
>
> just VS2010 - and a very closed source project, 5 libs, ~50-100kLOC, around 1200 Warnings (legacy code)
>
> latest Xerces C++ is another example (does not fully link under cl-clang) - some warnings
> svn co https://svn.apache.org/repos/asf/xerces/c/tags/Xerces-C_3_1_2
> VC2010: ~1:59min
> cl-clang: stopped at ~6:15 with link error
>
> or latests DosBox (gives compiler bug report) - many warnings
> VC2010: ~1:25
> cl-clang: stopped at ~3:19 with compiler-bug report
>
> it seems that the cl-clang guys should do compiletests against more
> dirty projects - not against
> the super-clean chrome sources :)
>
>
> Am 31.05.2015 um 08:21 schrieb Nico Weber:
> > Huh, that's surprising. Do you happen to have VS2013 too? What are you
> > compiling? Anything open-source?
> >
> > That build is release but with asserts enabled. Disabling asserts saves
> > ~30% of runtime, but that would still be 1:30min which is still slower than
> > VS. We only compared to 2013 though, maybe 2010 is faster than 2013?
> >
> > On Sat, May 30, 2015 at 11:14 PM, Dennis Luehring <dl.soluz at gmx.net> wrote:
> >
> > > VS2010 ~1:12min
> > > cl-clang (plugin download from 5.5.2015) ~2:15min
> > > clang-238562 ~2:11min
> > >
> > >
> > > Am 31.05.2015 um 07:48 schrieb Nico Weber:
> > >
> > >> Can you try the clang-cl.exe in
> > >>
> > >> http://commondatastorage.googleapis.com/chromium-browser-clang/index.html?path=Win/
> > >> ?
> > >>
> > >> On Sat, May 30, 2015 at 10:46 PM, Dennis Luehring <dl.soluz at gmx.net>
> > >> wrote:
> > >>
> > >> > im using the cl-clang vstudio plugin binary from the homepage and it
> > >> > compiles slower (nearly 2 times i think) then cl
> > >> >
> > >> >
> > >> > Am 31.05.2015 um 07:40 schrieb Nico Weber:
> > >> >
> > >> >> Can you post the cmake invocation you use?
> > >> >>
> > >> >> In general, we see clang being faster than gcc on linux/mac, and about
> > >> as
> > >> >> fast as cl.exe on windows on our bots. It sounds like you don't
> > >> configure
> > >> >> your build correctly. (clang-built-by-clang is a bit faster than
> > >> >> clang-built-by-cl on windows; I don't know how clang-built-by-clang and
> > >> >> clang-built-by-gcc on windows compare. But if you're seeing a 2-3x
> > >> >> slowdown, you're probably accidentally doing a debug build of clang
> > >> >> somehow.)
> > >> >>
> > >> >> On Sat, May 30, 2015 at 9:57 PM, Francois Pichet <pichet2000 at gmail.com
> > >> >
> > >> >> wrote:
> > >> >>
> > >> >> > I just noticed that assert is turned on even in Release on Windows
> > >> >> > Is that on purpose? (seems like a bug to me)
> > >> >> >
> > >> >> > Anyway if I build clang with "LLVM_ENABLE_ASSERTIONS:BOOL=OFF" the
> > >> build
> > >> >> > get stuck at verifier.cpp from LLVMCore. CL.exe is stuck in an
> > >> infinite
> > >> >> > loop.
> > >> >> >
> > >> >> > I am using MSVC 2013 Update 5.
> > >> >> >
> > >> >> > On Sat, May 30, 2015 at 10:30 AM, Reid Kleckner <rnk at google.com>
> > >> wrote:
> > >> >> >
> > >> >> >> You said you configured in release mode, but assertions might still
> > >> be
> > >> >> >> on. That accounts for a 2x slowdown. Otherwise I'd say that we
> > >> haven't
> > >> >> >> profiled and optimized clang on windows very much.
> > >> >> >>
> > >> >> >> Sent from phone
> > >> >> >> On May 29, 2015 4:51 PM, "Edward Diener" <
> > >> >> eldlistmailingz at tropicsoft.com>
> > >> >> >> wrote:
> > >> >> >>
> > >> >> >>> I test Boost libraries mostly on Windows using various version of
> > >> gcc
> > >> >> >>> 4.3 and up, VC++ 8.0 and up, and the latest version of clang which
> > >> I
> > >> >> build
> > >> >> >>> from source using mingw/gcc-4.8.1 in release mode.
> > >> >> >>>
> > >> >> >>> While clang is a great compiler when it comes to testing code,
> > >> getting
> > >> >> >>> intelligent error message, and implementing the latest C++
> > >> standard,
> > >> >> it is
> > >> >> >>> noticably slower ( 2x or 3x at minimum ) than the other compilers I
> > >> >> use.
> > >> >> >>>
> > >> >> >>> The clang command line parameters usually being used are usually
> > >> along
> > >> >> >>> the lines of:
> > >> >> >>>
> > >> >> >>> -c -x c++ -O0 -g -fno-inline -Wall -g -march=i686 -m32
> > >> >> >>>
> > >> >> >>> with the addition of 'std=c++11' occasionally depending on the
> > >> test.
> > >> >> >>>
> > >> >> >>> Does anybody have any idea why clang is so much slower than any of
> > >> the
> > >> >> >>> other compilers I use ? It does not seem to matter whether it is in
> > >> >> C++03
> > >> >> >>> mode or C++11 mode, it is noticeably slower than the other
> > >> compilers.
> > >> >> >>>
> > >> >> >>> _______________________________________________
> > >> >> >>> cfe-dev mailing list
> > >> >> >>> cfe-dev at cs.uiuc.edu
> > >> >> >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> > >> >> >>>
> > >> >> >>
> > >> >> >> _______________________________________________
> > >> >> >> cfe-dev mailing list
> > >> >> >> cfe-dev at cs.uiuc.edu
> > >> >> >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> > >> >> >>
> > >> >> >>
> > >> >> >
> > >> >> > _______________________________________________
> > >> >> > cfe-dev mailing list
> > >> >> > cfe-dev at cs.uiuc.edu
> > >> >> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> > >> >> >
> > >> >> >
> > >> >>
> > >> >>
> > >> >>
> > >> >> _______________________________________________
> > >> >> cfe-dev mailing list
> > >> >> cfe-dev at cs.uiuc.edu
> > >> >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> > >> >>
> > >> >
> > >> > _______________________________________________
> > >> > cfe-dev mailing list
> > >> > cfe-dev at cs.uiuc.edu
> > >> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> > >> >
> > >>
> > >>
> > >
> >
>




More information about the cfe-dev mailing list