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

Sdílet
Vložit
  • čas přidán 4. 06. 2024
  • 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/
    *-----*

Komentáře • 17

  • @Schcarraffone
    @Schcarraffone Před 6 lety +68

    you should always code your c++ 11 and c++ 14 keeping in mind how many electrons are moved down the copper wires you know...

  • @DavidVaughan00
    @DavidVaughan00 Před 7 lety +57

    My favorite C++ guy

    • @notinlist
      @notinlist Před 6 lety +1

      CPP MAN

    • @jsham92
      @jsham92 Před 5 lety +9

      @@notinlist He's actually D MAN

  • @bdafeesh
    @bdafeesh Před 5 lety +17

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

  • @morbo3000
    @morbo3000 Před 9 lety +31

    A 5% difference in performance translates to 5% more battery life. That's huge.

    • @movax20h
      @movax20h Před 4 lety +9

      5% difference in core of language or popular libraries is like you know eliminating few data centers. Billions of dollars worth.

  • @GeorgeTsiros
    @GeorgeTsiros Před 5 lety +17

    To anyone who is against using goto, do recall what the underlying assembly looks like.

    • @user-nw8pp1cy8q
      @user-nw8pp1cy8q Před 2 lety +1

      Well, on current Clang and GCC (in 2021) using `goto` and using two `delete`s produce same code.

  • @platin2148
    @platin2148 Před 3 lety +1

    ZII is really powerful

  • @techprocess42
    @techprocess42 Před 2 lety

    i don't understand, why we need goto? Why not just dublicate "delete p_;" instead of goto?

    • @msqrt
      @msqrt Před 2 lety

      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 Před 9 lety +3

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