CppCon 2017: John Lakos “Local ('Arena') Memory Allocators (part 1 of 2)”

Поделиться
HTML-код
  • Опубликовано: 9 сен 2024

Комментарии • 36

  • @simonfarre4907
    @simonfarre4907 3 года назад +65

    This is probably one of the best talks ever given at CppCon.

  • @niles_5003
    @niles_5003 2 года назад +24

    I sincerely hope this man is a professor somewhere. He's an amazing lecturer and definitely someone you want to learn a lot from. I like how he keeps people engaged, manages the room, and even made me laugh out loud all while covering some pretty technical material that's mostly new to me.

  • @hmpcon
    @hmpcon 6 лет назад +16

    Lakos's talks are always a stream of consciousness :P

  • @TimothyJesionowski
    @TimothyJesionowski 6 лет назад +14

    Excellent presentation, very educational while being somehow entertaining. As a C fanboy this is one of the few c++ features I genuinely want, though I'm sure I can kind of get it with stateful functions.

  • @azdinator
    @azdinator 8 месяцев назад

    Oh man. That guy is really good. Thank you.

  • @user-ey1dk2jz6h
    @user-ey1dk2jz6h 2 года назад +4

    Thank you, great talk

    • @CppCon
      @CppCon  2 года назад +2

      Glad you enjoyed it!

  • @matveyshishov
    @matveyshishov 10 месяцев назад

    Pure joy! ❤

  • @unevaguejaune8671
    @unevaguejaune8671 5 лет назад +11

    34:25 Can someone explain me what the problem / purpose of the inline specifier is ? Or what he is trying to show ?

    • @SalokinX
      @SalokinX 4 года назад +3

      He wants to highlight the fact that the function definitions are meant to be
      Inline and that he didn't inline them (by defining the function in the class definition) just so it's easier to see on the slide.

    • @tomcheng3903
      @tomcheng3903 4 года назад +4

      The functions are inlined by default, so there's no need for the inline keyword - the compiler will error if you try to insert an extraneous 'inline', since it's not possible to have a non-inline allocator.

    • @Jimmy9Bazooka
      @Jimmy9Bazooka Год назад +4

      @@tomcheng3903 Nope. He's lying. You can have extra 'inline' specifier on an inline class function. There will be no error.

  • @IllumTheMessage
    @IllumTheMessage 6 лет назад +3

    Excellent talk.

  • @LordNezghul
    @LordNezghul 7 лет назад +6

    Talking "this is very important" should be at the end of part 2 not because "you said so/I am here" but because people already saw this is important.

  • @yb9737
    @yb9737 Год назад

    GREAT TALK

  • @GrowBullet
    @GrowBullet 5 лет назад +3

    What a fucking GEM

  • @xr.spedtech
    @xr.spedtech Год назад +1

    This guy is cool

  • @robbydomino
    @robbydomino 7 лет назад

    great talk

  • @rocknroooollllll
    @rocknroooollllll 7 лет назад +21

    Death by powerpoint, John. Every. Single. Time. You have great talent, but massive information overload.

    • @prateekpatil4845
      @prateekpatil4845 6 лет назад +8

      I love it.

    • @GrowBullet
      @GrowBullet 5 лет назад +3

      @@prateekpatil4845 me too ^^

    • @zokalyx
      @zokalyx 9 месяцев назад

      just a long presentation imo, not overloaded

  • @sampathsubasinghe929
    @sampathsubasinghe929 3 года назад +1

    49:58 How to determine allocation density is low for billion integers when reserved memory or capacity() is not given.

    • @rastaarmando7058
      @rastaarmando7058 3 года назад +2

      On my machine vector allocates (1.5 * sizeOfCurrentMemory) each time it runs out of space. should be similar on yours so, I guess u could use that?

  • @andik70
    @andik70 Год назад

    "we meaning me" :-)

  • @marinrusu9179
    @marinrusu9179 5 лет назад

    23:37

  • @mrlithium69
    @mrlithium69 7 лет назад +6

    @56:00 How has he not heard #pragma pack(push, 1).
    You put it around a specific struct, and disable it after w/ #pragma pack(pop)

    • @dyslexicunt
      @dyslexicunt 7 лет назад +1

      Yeah it's always reassuring when someone deemed fit to give a presentation on custom allocators, is completely ignorant of a basic compiler feature dealing with memory alignment. Way to go.

    • @ciaran2679
      @ciaran2679 7 лет назад +47

      I'd imagine it's because this is a talk about standard C++, not compiler-specific extensions.

    • @eggdish
      @eggdish 6 лет назад +3

      I understand not knowing about a non standard pragma and personally I don't like the pragma anyway.
      However, the speaker is clearly misinformed about unaligned data hurting performance, or is programming in non-x86 environment. Google "lemire unaligned x86" for nice blog post with benchmarks. (Might not apply to floating point)

    • @Bozemoto
      @Bozemoto 6 лет назад

      Useful for stuff like loading binary file headers like BMP and WAV though.

    • @andreyblack2558
      @andreyblack2558 6 лет назад

      you just a stupid fool if your think what hi has newer heard about it, its a trick

  • @MsDuketown
    @MsDuketown 6 месяцев назад

    arena.h needs a forum.h
    Otherwize, floating atomics will extinguish humanity.