CppCon 2014: Andrei Alexandrescu "Optimization Tips - Mo' Hustle Mo' Problems"

  Рет қаралды 73,865

CppCon

CppCon

Күн бұрын

www.cppcon.org
-
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2014
--
Reasonably-written C++ code will be naturally fast. This is to C++'s excellent low-penalty abstractions and a memory model close to the machine.
However, a large category of applications have no boundaries on desired speed, meaning there's no point of diminishing returns in making code faster. Better speed means less power consumed for the same work, more workload with the same data center expense, better features for the end user, more features for machine learning, better analytics, and more.
Optimizing has always been an art, and in particular optimizing C++ on contemporary hardware has become a task of formidable complexity. This is because modern hardware has a few peculiarities about it that are not sufficiently understood and explored. This talk discusses a few such effects, and guides the attendee on how to navigate design and implementation options in search for better performance.
--
Andrei Alexandrescu is a researcher, software engineer, and author. He wrote three best-selling books on programming (Modern C++ Design, C++ Coding Standards, and The D Programming Language) and numerous articles and papers on wide-ranging topics from programming to language design to Machine Learning to Natural Language Processing. Andrei holds a PhD in Computer Science from the University of Washington and a BSc in Electrical Engineering from University "Politehnica" Bucharest. He works as a Research Scientist for Facebook.
Website: erdani.com
Twitter handle: @incomputable
--
Videos Filmed & Edited by Bash Films: www.BashFilms.com
*-----*
Register Now For CppCon 2022: cppcon.org/registration/
*-----*

Пікірлер: 17
@DavidVaughan00
@DavidVaughan00 7 жыл бұрын
My favorite C++ guy
@notinlist
@notinlist 6 жыл бұрын
CPP MAN
@jsham92
@jsham92 5 жыл бұрын
@@notinlist He's actually D MAN
@Schcarraffone
@Schcarraffone 6 жыл бұрын
you should always code your c++ 11 and c++ 14 keeping in mind how many electrons are moved down the copper wires you know...
@bdafeesh
@bdafeesh 5 жыл бұрын
This guy is fantastic. Seriously one of my favorite people to watch.
@morbo3000
@morbo3000 9 жыл бұрын
A 5% difference in performance translates to 5% more battery life. That's huge.
@movax20h
@movax20h 4 жыл бұрын
5% difference in core of language or popular libraries is like you know eliminating few data centers. Billions of dollars worth.
@GeorgeTsiros
@GeorgeTsiros 5 жыл бұрын
To anyone who is against using goto, do recall what the underlying assembly looks like.
@user-nw8pp1cy8q
@user-nw8pp1cy8q 2 жыл бұрын
Well, on current Clang and GCC (in 2021) using `goto` and using two `delete`s produce same code.
@platin2148
@platin2148 3 жыл бұрын
ZII is really powerful
@techprocess42
@techprocess42 2 жыл бұрын
i don't understand, why we need goto? Why not just dublicate "delete p_;" instead of goto?
@msqrt
@msqrt 2 жыл бұрын
As he says, it makes the (compiled) code smaller, which often means faster since more stuff fits in the instruction cache. Though in this case I guess he could just have it be the last thing in the function since both branches go there anyway. (Edit: nah, I thought of it wrong -- it can't just go in the end.)
@GabrielHasbun
@GabrielHasbun 9 жыл бұрын
If one is prematurely optimizing one is not allowing the compiler to know better.
CppCon 2018: Andrei Alexandrescu “Expect the expected”
58:58
Super sport🤯
00:15
Lexa_Merin
Рет қаралды 20 МЛН
code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care
1:16:58
NOKIA Technology Center Wrocław
Рет қаралды 182 М.
'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]
1:02:17
ACCU Conference
Рет қаралды 32 М.
CppCon 2015: Andrei Alexandrescu “Declarative Control Flow"
1:07:35
CppCon 2015: Andrei Alexandrescu “std::allocator...”
1:12:27
code::dive conference 2015 - Andrei Alexandrescu - Writing Fast Code I
1:29:26
NOKIA Technology Center Wrocław
Рет қаралды 31 М.
Rust and RAII Memory Management - Computerphile
24:22
Computerphile
Рет қаралды 213 М.
C++ cache locality and branch predictability
10:43
mCoding
Рет қаралды 76 М.