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

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024

ความคิดเห็น • 37

  • @simonfarre4907
    @simonfarre4907 3 ปีที่แล้ว +67

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

  • @niles_5003
    @niles_5003 2 ปีที่แล้ว +26

    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.

  • @abhishekk4194
    @abhishekk4194 9 วันที่ผ่านมา

    The clarity blew me away.

  • @azdinator
    @azdinator 9 หลายเดือนก่อน

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

  • @АлександрДаас
    @АлександрДаас 3 ปีที่แล้ว +4

    Thank you, great talk

    • @CppCon
      @CppCon  3 ปีที่แล้ว +2

      Glad you enjoyed it!

  • @IllumTheMessage
    @IllumTheMessage 7 ปีที่แล้ว +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.

  • @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.

  • @robbydomino
    @robbydomino 7 ปีที่แล้ว

    great talk

  • @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.

  • @andik70
    @andik70 ปีที่แล้ว

    "we meaning me" :-)

  • @PflanzenChirurg
    @PflanzenChirurg 5 ปีที่แล้ว +3

    What a fucking GEM

  • @hmpcon
    @hmpcon 7 ปีที่แล้ว +16

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

  • @xr.spedtech
    @xr.spedtech ปีที่แล้ว +1

    This guy is cool

  • @matveyshishov
    @matveyshishov 10 หลายเดือนก่อน

    Pure joy! ❤

  • @yb9737
    @yb9737 ปีที่แล้ว

    GREAT TALK

  • @marinrusu9179
    @marinrusu9179 5 ปีที่แล้ว

    23:37

  • @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?

  • @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.

    • @PflanzenChirurg
      @PflanzenChirurg 5 ปีที่แล้ว +3

      @@prateekpatil4845 me too ^^

    • @zokalyx
      @zokalyx 9 หลายเดือนก่อน

      just a long presentation imo, not overloaded

  • @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 ปีที่แล้ว +49

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

    • @eggdish
      @eggdish 7 ปีที่แล้ว +4

      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 7 หลายเดือนก่อน

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