C++ ecosystem problems: According to https://t.co/73xVO08wet, 10% of the type debug info in Chrome exists to describe __compressed_pair instantiations. Template instantiations will grow to consume all compilation resources and eat the world one day. =S
There was recently a harsh back and forth between @elonmusk and @ylecun about the role of publications in science. My stance is that, at least as far as computer science is concerned, the number of publications is irrelevant.
Let me give a specific example of someone who did not focus too much on formal publications but is still in the top 0.00001%.
Chris Lattner (@clattner_llvm) should get the Turing award for his work on LLVM. (The Turing Award is the equivalent to the Nobel prize in computer science.)
Though Chris should not get nearly all of the credit, the impact that LLVM has had is... deep. And I don't want to hear anything about "yeah, but it is engineering, not actual 'computer science'". Nonsense. Go read Chris' 2005 thesis and dare tell me that it is not science.
Let me be blunt.
The 'regular' (non-LLVM) C++ compiler under Visual Studio should be considered legacy at this point. You will typically get better code generation with LLVM: faster code, fewer compiler bugs. And yes, you can turn it on with a single flag (look for clang/llvm in the Visual Studio documentation.
The price to pay is longer for switching to LLVM is longer builds. However, it is an acceptable trade-off is almost all cases.
I would not be surprised if Microsoft were to retire their C++ compiler in favour of LLVM (making it the default) in a future version of Visual Studio. It would probably be a good move.
We are doing a great disservice to the new generation by telling them that science is all about publishing 80 papers in 2 years.
I am excited to help with that mission! I think that the LLVM project and the developer meetings were amazing opportunities for me in my career, and I look forward to creating similar opportunities for the next generation of LLVM developers.
The foundation mission is: "to support education and advancement of the field of compilers and tools through educational events, grants and scholarships, and increasing diversity with the field of compilers, tools, and the LLVM project."
Performance highlight of the week for @rustlang: The new pass manager in LLVM 13 (now in nightly) leads to significantly better compile times. Almost every benchmark shows improvements between 5-20% (Right: % change in instruction count; Left: times above significance threshold)
"Chromium/Mac builds use a different linker ..." [LLD] "... linking is now 3-4 times as fast."
I distinctly recall Apple engineers telling us that ld64 was "fast enough". I think we just have different use cases (C++ / ObjC) and definitions of "fast".
https://t.co/yuWKL2tHqN
ASan for MSVC is GA! The world changes. For a long time I have wanted to invest more in Windows ASan, but it never made our team's priority list. I have an ideas doc for improvements, maybe I should send it to Microsoft folks. :)
https://t.co/bJQ7Kz3Ev0
I'd like to live in a world were we can just say "python" again and forget that this whole 2 to 3 migration ever happened, but I don't think I'm going to see it.
The migration of python shebang lines from `#!... python` to `... python3` breaks them in MSys bash. I just checked, and Windows Python 3 packages provide python.exe, not python3.exe. There is no symlink or alias, so the new shebang fails. ☹️
Caltrain is the transit backbone of the peninsula. Even if a sales tax isn't perfect, we need to work together as a region to move people and to reduce traffic/emissions. There is no better option on the table.
The Visual Studio heap profiler is pretty cool, but somebody needs to run it on itself. Exploring allocation stacks often puts VS into the "Not Responding" state. #visualstudio
Isn't it great that C++ is flexible enough that smart pointers can be implemented as a library feature?
**** Template sets that took longest to instantiate:
318933 ms: std::unique_ptr<$> (34191 times, avg 9 ms)
At lunch today, I said someone ought to use -ftime-trace to analyze compile time of an entire codebase. Then I found https://t.co/pDtNifS9ae. I'm so excited. Here's the results I got for Clang itself: https://t.co/AralY2SVmR