Re:Add a const here, delete a const there
by bla2 on Monday January 09, 2017 @09:48AM
(#13356649)
MSVC is such a bad compiler. Yes, they are working on it, it's getting better, but this is apparently a fairly new regression.
[ Parent
| on HN ]
Working around the following bug caused Firefox's size to drop by over 200k. We should try fiddling with const, too :-)
Re:Add a const here, delete a const there
by brucedawson on Monday January 09, 2017 @12:28PM
(#13357956)
Chrome continues to use MSVC on Windows because it generates better code than clang. So, MSVC is the worst compiler, except for the alternatives?
I believe I read that it is rather that clang is (was?) not feature complete (until recently at least) for debugging in MSVC. Support for PDB/Codeview is very recent in clang, and I'm not sure it is complete yet.
Would appreciate a reference on that if you have it handy.
Is this more of a whole program measured X% regression on some perf benchs, or specific target cases where the codegen is notably worse ?
Re:Add a const here, delete a const there
by brucedawson on Monday January 09, 2017 @08:49PM
(#13361844)
I should probably take back my claim because I can't find the evidence to back it up and I might actually be wrong. I thought I remembered that there were some important cases where VC++ generated better code for Chrome, and some binary size advantages, but I can't find my references.
Re:Add a const here, delete a const there
by brucedawson on Friday January 13, 2017 @08:59PM
(#13396380)
crbug.com/457078 talks about binary size in clang-cl versus VC++. On x86 builds clang-cl produces ~14% larger binaries. On x64 builds it produces ~3.5% smaller binaries.
My recent changes have made the comparison tougher for clang-cl by making the VC++ binaries smaller :-)