u/kid-pro-quoarm-none-eabi-*in r/embedded • Recommends
C++Now 2019: Odin Holmes “Hey C, This Is What Performance Looks like"
#metaprogramming#assembly#c++now
39K subscribers • 42 videos on Hallway • Conference channel
Advanced. Deep dive for people who know the field.
11K views7 years ago1 recommendation
Programming languagesSystems programmingC++Performance and optimizationEmbedded systems
Odin Holmes argues that C++ metaprogramming can generate safer and significantly faster assembly than traditional C in constrained embedded systems.
cppnow.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: cppnow.org/history/2019/talks/ — Hey C, This Is What Performance Looks like (Manually Generating Optimal Assembly at Compile Time) In my day job, I work on a lot of exotic hardware and highly constrained systems, both in resources and latency/timing. In my domain, C is king and the reason given is almost always performance. I have found, however, that at least for my domain and my needs I cannot get the performance I need from C, I need C++. Some of the custom assembler generating metaprograms I have written beat industry standard libraries in performance by 10x and more in some benchmarks and are far safer and easier to use than the forest of macros against which they compete. In this talk, we will discuss the trade-offs of optimization within the compiler vs. optimization implemented in the form of metaprograms in library space for niche use cases on custom hardware. As an example of the success of optimization in library space I will present a DSL I wrote for ARM Cortex SoCs which provide reasonable semantics and incredible performance when talking to the more exotic functionality offered by the hardware and not supported by the optimizer (or the language for that matter). — Odin Holmes Auto-Intern GmbH chaos monkey Germany Odin was allocated from a pool of hippies in the middle of the forest. He spent most of his career designing electronic circuits and programming micro controllers in assembler. One day after having shot himself in the foot particularly badly a friend introduced him to C++, a seriously powerful and ongoing addiction followed. Odin has authored many proof of concept libraries in the embedded field and is trying to revolutionize this domain. Odin co-authored the kvasir::mpl library, co-founded the embo.io conference and was a heavy contributor to the brigand library. In his day job, he teaches people how to shoot themselves in the foot less and get more from their compiler, both with his in-house team as well as in a training and consulting role. — Videos Filmed & Edited by Bash Films: BashFilms.com --- *--* ---What people say. Highly recommended for its mind-bending demonstration of compile-time assembly generation and performance optimization in C++.
u/kid-pro-quoarm-none-eabi-*in r/embedded • Recommends