Conversation

Yeah, I've thought about this a lot with Rust. Rust abstractions are basically all functions and you really need to inline them, but debug builds don't inline. I've wondered whether doing some amount of inlining + GVN in MIR in debug builds can solve this dilemma.
Quote Tweet
Anyway, the problem many of us complain about with C++ isn't a fundamental problem of modern languages. It's not even _really_ about library-based abstractoins! It's that C++ only offers runtime-oriented tools like functions for implementing compile-time abstractions.
Show this thread
2
71
In fact, I'd go so far as to say that getting reasonable performance out of debug builds is a majorly uninvested area. A lot of the draw of languages like Go is reasonable debug mode performance. Problem is, it's hard to measure debug mode optzns ROI, compared to release mode.
7
43
Replying to and
I think I was more responding to the mention of macros and guaranteed inlining of functions and parameters in the original thread, but yeah, you're right that it doesn't really address the more general case.