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

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/
*-----*

Пікірлер: 19

  • @Schcarraffone
    @Schcarraffone6 жыл бұрын

    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
    @bdafeesh5 жыл бұрын

    This guy is fantastic. Seriously one of my favorite people to watch.

  • @DavidVaughan00
    @DavidVaughan007 жыл бұрын

    My favorite C++ guy

  • @notinlist

    @notinlist

    6 жыл бұрын

    CPP MAN

  • @jsham92

    @jsham92

    5 жыл бұрын

    @@notinlist He's actually D MAN

  • @morbo3000
    @morbo30009 жыл бұрын

    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
    @GeorgeTsiros5 жыл бұрын

    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.

  • @sankalpramesh5478
    @sankalpramesh547818 күн бұрын

    How does putting reference count at the start of the class help?

  • @platin2148
    @platin21483 жыл бұрын

    ZII is really powerful

  • @techprocess42
    @techprocess422 жыл бұрын

    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
    @GabrielHasbun9 жыл бұрын

    If one is prematurely optimizing one is not allowing the compiler to know better.

Келесі