What's New in Compiler Explorer? - Matt Godbolt - C++ on Sea 2023

Sdílet
Vložit
  • čas přidán 1. 09. 2023
  • cpponsea.uk/
    ---
    What's New in Compiler Explorer? - Matt Godbolt - C++ on Sea 2023
    Compiler Explorer is a well-known website for exploring C++ code and the output of the compiler. However, it contains many features that you may not be aware of.
    In this talk, we'll explore some of the newer features of Compiler Explorer (and revisit some old ones you may not be aware of), and see why they're useful. There will be live demos of each feature.
    Did you know, for example, you can supply input to programs you execute? Or that you can see a Control Flow Graph of your program? Or even emulate a BBC Micro?
    ---
    Slides: github.com/philsquared/cppons...
    Sponsored By think-cell: www.think-cell.com/en/
    ---
    Matt Godbolt
    I'm a C++ developer who's passionate about the seemingly opposite goals of good, readable code and high performance code. I love taking the lid off and looking underneath, be it the compiler, the operating system, or even the silicon that runs everything.
    By day I write software for quantitative trading company Aquatic. By night I hack on hobby projects ranging from emulating old computers in your browser to compiler exploration tools.
    ---
    C++ on Sea is an annual C++ and coding conference, in Folkestone, in the UK.
    - Annual C++ on Sea, C++ conference: cpponsea.uk/
    - 2023 Program: cpponsea.uk/2023/schedule/
    - Twitter: / cpponsea
    ---
    CZcams Videos Filmed, Edited & Optimised by Digital Medium: events.digital-medium.co.uk
    #cpp​ #cpponsea​ #compiler
  • Věda a technologie

Komentáře • 24

  • @Gabriel38196
    @Gabriel38196 Před 7 měsíci +18

    What I absolutely love about compiler explorer, is that I tend to use it exactly like I use the python repl. Just fire it and experiment away. The fact that it is a very low commitment (zero setup required, no ide needed, can link code to other people) and that I instantly see the feedback, is exactly what the cpp world needed. Thanks Matt!

  • @JeremyCoppin
    @JeremyCoppin Před 8 měsíci +19

    this is just the most phenomenal tool. i cannot believe that any professional programmer can work effectively without it.

    • @driedurchin
      @driedurchin Před 6 měsíci +2

      Well, most programmers have the luxury of targeting incredibly fast computers operated by users who don't care all that much about performance, and simply having -O3 works for them.

  • @HaykKarapetyanGP
    @HaykKarapetyanGP Před 8 měsíci +6

    I couldn't stop saying 'WOW' while I was watching this. This is mindblowing. 🚀👍💪

    • @cpponsea
      @cpponsea  Před 7 měsíci +2

      Pleased to receive your comment describing how much you valued this presentation. Great to hear!

  • @xdman2956
    @xdman2956 Před 8 měsíci +3

    The "Add new..." was breakthrough from me. I was lost in the new version of the explorer but now I understand how to use it

  • @jmparis83
    @jmparis83 Před 8 měsíci +7

    Fantastic tool! Thanks Matt (and the team).
    I love the 6502 "touch". BTW I prefer an Apple II over the BBC 😋

    • @MattGodbolt
      @MattGodbolt Před 6 měsíci

      Apple II is ace too, just not part of my childhood! I've never touched an Apple II, sadly, so it doesn't have the same feeling for me.

  • @anon_y_mousse
    @anon_y_mousse Před 7 měsíci +2

    Okay, the 6502 emulator sounds like a really cool thing, but it doesn't appear for me and there's no link for whatever that code was nor are the slides up. Weirder still is that I can't target the 6502 if I select assembly from the language dropdown. Also, if Matt sees this comment, how about adding some other assemblers to the list, because as much as I love nasm I'd really like to be able to try out fasm and masm for a comparison and it might be cool for historical purposes to have tasm. I just hope that if someone decides in the future that they want to write an assembler that they don't name it [a-z]asm and go for something creative.

  • @GRHmedia
    @GRHmedia Před 8 měsíci

    Seriously good work.

  • @coreC..
    @coreC.. Před 5 měsíci +1

    Great talk.
    I was always wondering about that parsing step. It's great to see it demonstrated in Compiler Explorer.
    (edit) 6502/6510 old dude too here..

    • @cpponsea
      @cpponsea  Před 4 měsíci +1

      Very pleased to hear that you enjoyed Matt Godbolt's presentation!

  • @tolkienfan1972
    @tolkienfan1972 Před 6 měsíci +2

    Auto vectorization won't work for summing an array of floats, because addtion of floats isn't associative. Understanding your machine and hand optimizing is still important to many fields

  • @yorailevi6747
    @yorailevi6747 Před 8 měsíci

    amazing amazing amazing

  • @DedmenMiller
    @DedmenMiller Před 7 měsíci

    15:30 was what i needed last week. But i was trying to run a benchmark and quickbench didnt have it. I ended up spending 20 minutes to set up google benchmark locally just to settle an argument.

  • @TheHackysack
    @TheHackysack Před 6 měsíci

    A lot of your videos all seem to link to the same repository?
    Edit: Ok, it just clicked why that is. But still, the only slides that seem to be available are from 1 video (which just so happened to be the first one I watched, which is why I was confused)

    • @cpponsea
      @cpponsea  Před 5 měsíci +1

      Thank you for your comment. We shall attempt to rectify this as soon as possible, to ensure that the Speakers' slides are available.

  • @nXqd
    @nXqd Před 8 měsíci +1

    god like tool for people who cares about performance :)

  • @xarcaz
    @xarcaz Před 3 měsíci

    Mason... is that Mason Murner of M++Meekly fame?

  • @pw1169
    @pw1169 Před 7 měsíci +3

    If std::accumulate and a for loop generate identical assembly code, why would you ever bother using accumulate? lmao

    • @spaghettiking653
      @spaghettiking653 Před 7 měsíci +5

      Because it's more idiomatic. The for loop is full of implementation details, whereas the accumulate is abstract and has less potential for fuck-ups.

    • @driedurchin
      @driedurchin Před 6 měsíci

      @@spaghettiking653 One downside is it really sucks to debug std::algorithms as opposed to "regular" loops.

    • @binary132
      @binary132 Před 6 měsíci

      For loops have a lot of potential footguns. Sometimes they’re still the right thing.