<div dir="rtl"><div dir="ltr">Edward, could you time the snapshot binaries fromĀ <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_builds_&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=qi21u1CaSCdOSBUTVXulRu8_m-ILHzcc6b8439nkXys&s=eEscDBhLXLM4b7Hx1WSF4bB0KOmN_nmjPuGKQXAKh7A&e=">http://llvm.org/builds/</a> ?</div><div dir="ltr"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div dir="ltr">2015-06-01 0:10 GMT+03:00 Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Another thing to consider is that clang-cl doesn't implement /MP, the cl flag for multiprocessing. If you are comparing cl with MSBuild to clang-cl MSBuild, clang will go slower because it doesn't run multiple compiles in parallel.<div><br></div><div>This, however, doesn't explain the 2x slowdown vs gcc from Edward's experimentation. So far all we have are theories on that.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 31, 2015 at 12:34 AM, Dennis Luehring <span dir="ltr"><<a href="mailto:dl.soluz@gmx.net" target="_blank">dl.soluz@gmx.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">another example: <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_RuntimeCompiledCPlusPlus_RuntimeCompiledCPlusPlus&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=hpC7ORUVDxV3DqdNE1rZh4bacUTo6WBN_6dS1Mfbc7w&s=Ayk3MRBdMUQBGcUkzqLI__oMrbF3ygfnsqNArf4AW_g&e=" target="_blank">https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus</a><br>
<br>
compiles in a minute in VS2010 - take years with cl-clang, with compile-bug reports in cl-clang<br>
<br>
so my "dirty" testbase for finding speed difference and bugs in cl-clang would be<br>
<br>
-Xerces C++ 3.1.2 (SVN Tag)<br>
-DosBox (latest SVN)<br>
-RuntimeCompiledCPlusPlus (lastest Git)<br>
-ScummVM (SVN)<div><div><br>
<br>
<br>
Am 31.05.2015 um 09:06 schrieb Dennis Luehring:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
>Huh, that's surprising. Do you happen to<br>
>have VS2013 too? What are you<br>
>compiling? Anything open-source?<br>
<br>
just VS2010 - and a very closed source project, 5 libs, ~50-100kLOC, around 1200 Warnings (legacy code)<br>
<br>
latest Xerces C++ is another example (does not fully link under cl-clang) - some warnings<br>
svn co <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__svn.apache.org_repos_asf_xerces_c_tags_Xerces-2DC-5F3-5F1-5F2&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=hpC7ORUVDxV3DqdNE1rZh4bacUTo6WBN_6dS1Mfbc7w&s=uDCJVQRwnx8UQrzjD8ex6aW0dwPlUcrvB3Prj0pv134&e=" target="_blank">https://svn.apache.org/repos/asf/xerces/c/tags/Xerces-C_3_1_2</a><br>
VC2010: ~1:59min<br>
cl-clang: stopped at ~6:15 with link error<br>
<br>
or latests DosBox (gives compiler bug report) - many warnings<br>
VC2010: ~1:25<br>
cl-clang: stopped at ~3:19 with compiler-bug report<br>
<br>
it seems that the cl-clang guys should do compiletests against more<br>
dirty projects - not against<br>
the super-clean chrome sources :)<br>
<br>
<br>
Am 31.05.2015 um 08:21 schrieb Nico Weber:<br>
> Huh, that's surprising. Do you happen to have VS2013 too? What are you<br>
> compiling? Anything open-source?<br>
><br>
> That build is release but with asserts enabled. Disabling asserts saves<br>
> ~30% of runtime, but that would still be 1:30min which is still slower than<br>
> VS. We only compared to 2013 though, maybe 2010 is faster than 2013?<br>
><br>
> On Sat, May 30, 2015 at 11:14 PM, Dennis Luehring <<a href="mailto:dl.soluz@gmx.net" target="_blank">dl.soluz@gmx.net</a>> wrote:<br>
><br>
> > VS2010 ~1:12min<br>
> > cl-clang (plugin download from 5.5.2015) ~2:15min<br>
> > clang-238562 ~2:11min<br>
> ><br>
> ><br>
> > Am 31.05.2015 um 07:48 schrieb Nico Weber:<br>
> ><br>
> >> Can you try the clang-cl.exe in<br>
> >><br>
> >> <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__commondatastorage.googleapis.com_chromium-2Dbrowser-2Dclang_index.html-3Fpath-3DWin_&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=hpC7ORUVDxV3DqdNE1rZh4bacUTo6WBN_6dS1Mfbc7w&s=0Z7dhEHRXNw2FRaTdSNkgEqbJbpyzUFjX-QpxLo64os&e=" target="_blank">http://commondatastorage.googleapis.com/chromium-browser-clang/index.html?path=Win/</a><br>
> >> ?<br>
> >><br>
> >> On Sat, May 30, 2015 at 10:46 PM, Dennis Luehring <<a href="mailto:dl.soluz@gmx.net" target="_blank">dl.soluz@gmx.net</a>><br>
> >> wrote:<br>
> >><br>
> >> > im using the cl-clang vstudio plugin binary from the homepage and it<br>
> >> > compiles slower (nearly 2 times i think) then cl<br>
> >> ><br>
> >> ><br>
> >> > Am 31.05.2015 um 07:40 schrieb Nico Weber:<br>
> >> ><br>
> >> >> Can you post the cmake invocation you use?<br>
> >> >><br>
> >> >> In general, we see clang being faster than gcc on linux/mac, and about<br>
> >> as<br>
> >> >> fast as cl.exe on windows on our bots. It sounds like you don't<br>
> >> configure<br>
> >> >> your build correctly. (clang-built-by-clang is a bit faster than<br>
> >> >> clang-built-by-cl on windows; I don't know how clang-built-by-clang and<br>
> >> >> clang-built-by-gcc on windows compare. But if you're seeing a 2-3x<br>
> >> >> slowdown, you're probably accidentally doing a debug build of clang<br>
> >> >> somehow.)<br>
> >> >><br>
> >> >> On Sat, May 30, 2015 at 9:57 PM, Francois Pichet <<a href="mailto:pichet2000@gmail.com" target="_blank">pichet2000@gmail.com</a><br>
> >> ><br>
> >> >> wrote:<br>
> >> >><br>
> >> >> > I just noticed that assert is turned on even in Release on Windows<br>
> >> >> > Is that on purpose? (seems like a bug to me)<br>
> >> >> ><br>
> >> >> > Anyway if I build clang with "LLVM_ENABLE_ASSERTIONS:BOOL=OFF" the<br>
> >> build<br>
> >> >> > get stuck at verifier.cpp from LLVMCore. CL.exe is stuck in an<br>
> >> infinite<br>
> >> >> > loop.<br>
> >> >> ><br>
> >> >> > I am using MSVC 2013 Update 5.<br>
> >> >> ><br>
> >> >> > On Sat, May 30, 2015 at 10:30 AM, Reid Kleckner <<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>><br>
> >> wrote:<br>
> >> >> ><br>
> >> >> >> You said you configured in release mode, but assertions might still<br>
> >> be<br>
> >> >> >> on. That accounts for a 2x slowdown. Otherwise I'd say that we<br>
> >> haven't<br>
> >> >> >> profiled and optimized clang on windows very much.<br>
> >> >> >><br>
> >> >> >> Sent from phone<br>
> >> >> >> On May 29, 2015 4:51 PM, "Edward Diener" <<br>
> >> >> <a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@tropicsoft.com</a>><br>
> >> >> >> wrote:<br>
> >> >> >><br>
> >> >> >>> I test Boost libraries mostly on Windows using various version of<br>
> >> gcc<br>
> >> >> >>> 4.3 and up, VC++ 8.0 and up, and the latest version of clang which<br>
> >> I<br>
> >> >> build<br>
> >> >> >>> from source using mingw/gcc-4.8.1 in release mode.<br>
> >> >> >>><br>
> >> >> >>> While clang is a great compiler when it comes to testing code,<br>
> >> getting<br>
> >> >> >>> intelligent error message, and implementing the latest C++<br>
> >> standard,<br>
> >> >> it is<br>
> >> >> >>> noticably slower ( 2x or 3x at minimum ) than the other compilers I<br>
> >> >> use.<br>
> >> >> >>><br>
> >> >> >>> The clang command line parameters usually being used are usually<br>
> >> along<br>
> >> >> >>> the lines of:<br>
> >> >> >>><br>
> >> >> >>> -c -x c++ -O0 -g -fno-inline -Wall -g -march=i686 -m32<br>
> >> >> >>><br>
> >> >> >>> with the addition of 'std=c++11' occasionally depending on the<br>
> >> test.<br>
> >> >> >>><br>
> >> >> >>> Does anybody have any idea why clang is so much slower than any of<br>
> >> the<br>
> >> >> >>> other compilers I use ? It does not seem to matter whether it is in<br>
> >> >> C++03<br>
> >> >> >>> mode or C++11 mode, it is noticeably slower than the other<br>
> >> compilers.<br>
> >> >> >>><br>
> >> >> >>> _______________________________________________<br>
> >> >> >>> cfe-dev mailing list<br>
> >> >> >>> <a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
> >> >> >>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
> >> >> >>><br>
> >> >> >><br>
> >> >> >> _______________________________________________<br>
> >> >> >> cfe-dev mailing list<br>
> >> >> >> <a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
> >> >> >> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
> >> >> >><br>
> >> >> >><br>
> >> >> ><br>
> >> >> > _______________________________________________<br>
> >> >> > cfe-dev mailing list<br>
> >> >> > <a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
> >> >> > <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
> >> >> ><br>
> >> >> ><br>
> >> >><br>
> >> >><br>
> >> >><br>
> >> >> _______________________________________________<br>
> >> >> cfe-dev mailing list<br>
> >> >> <a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
> >> >> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
> >> >><br>
> >> ><br>
> >> > _______________________________________________<br>
> >> > cfe-dev mailing list<br>
> >> > <a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
> >> > <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
> >> ><br>
> >><br>
> >><br>
> ><br>
><br>
<br>
</blockquote>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>